방명록

  1. 분석공부 2021.05.14 17:35  수정/삭제  댓글쓰기

    안녕하세요, 선생님.
    잘 계시지요? 1월에도 방명록에 글을 썼었는데, 선생님 홈페이지의 도움을 받아 완성한 개인 프로젝트들로 취업을 하게 되었습니다. 원하는 직무인데다, 마음에 드는 기업이라 정말 기쁩니다. 감사합니다!
    날이 점점 더워지는데 건강 유의하시고요!
    감사합니다. 선생님^^

    • R Friend Rfriend 2021.05.16 19:54 신고  수정/삭제

      안녕하세요.
      원하시는 기업에 취업하셨다니 정말 축하드려요!
      멋지고 대단하십니다.

      방명록에 글 남겨주셔서 고맙습니다. 저도 블로그 포스팅하는데 뿌듯하고 기쁘네요. :-)

  2. 요한 2021.05.07 16:56  수정/삭제  댓글쓰기

    안녕하세요.. 항상 도움 많이 받고 있습니다.
    오늘은 질문이 있는데요..

    저는 r 내장데이터 'mtcars'를 활용해 dplyr 공부를 하고 있습니다 (select, filter 등)
    내장 데이터 'mtcars'는 첫번째 행의 첫번째 열이 빈칸입니다. 그래서 보고 싶은 열만 지정을 할 수 없습니다 (문법 오류)
    select 혹은 filter를 이용해 열을 지정해주려 하는데 이름이 없으니 보고 싶은 열만 볼수가 없네요
    예를 들어 (Mazda RX4)만 보고 싶을 때는 어떻게 해야 할까요?

    • R Friend Rfriend 2021.05.07 23:20 신고  수정/삭제

      안녕하세요, 요한님.
      반갑습니다.

      mtcars 내장 데이터셋의 경우 rownames 에 '자동차 메이커 & 브랜드 이름'이 함께 들어있습니다.

      만약 일회성으로 '자동차 메이커 & 브랜드 이름'을 사용해서 filter 를 하는 경우라면 아래의 (method 1) 처럼 filter(rownames(mtcars) == "Mazda RX4") 를 사용해서 TRUE, FALSE 값으로 반환된 결과를 사용하면 돕니다.

      만약 '자동차 메이커 & 브랜드 이름' 조건을 여러번 반복적으로 사용하는 경우라면 (method 2) 처럼 mutate() 함수를 써서 rownames의 값을 가져와서 새로운 칼럼(가령, 'maker_brand')을 만들어주고, 이 칼럼을 일반적은 dplyr 함수 사용법대로 사용할 수 있습니다.

      ps. 방명록에 글을 남겨주시면 모바일로 알람을 받을 수 없다보니(티스토리 버그인거 같습니다), 보통 주말에 포스팅하려고 웹으로 로그인하고 나서야 방명록 새글을 확인할 수 있어서 답변이 늦을 수 있습니다.

      포스팅의 댓글란에 글을 남겨주시면 모바일로 알람을 받을 수 있어서 제가 퇴근 후에 답변을 달아드릴 수 있습니다.

      -----------------
      ## -- method 1
      library(dplyr)
      mtcars %>% filter(rownames(mtcars) == "Mazda RX4") %>% select(mpg, cyl, disp)
      # mpg cyl disp
      # Mazda RX4 21 6 160


      ## -- method 2: make a new column 'maker_brand' from rownames
      mtcars2 <- mtcars %>% mutate(maker_brand = rownames(mtcars))
      head(mtcars2)
      # mpg cyl disp hp drat wt qsec vs am gear carb maker_brand
      # Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 Mazda RX4
      # Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4 Mazda RX4 Wag
      # Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1 Datsun 710
      # Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1 Hornet 4 Drive
      # Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2 Hornet Sportabout
      # Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1 Valiant

      mtcars2 %>% filter(maker_brand == "Mazda RX4") %>% select(mpg, cyl, disp)
      # mpg cyl disp
      # Mazda RX4 21 6 160

  3. fakecan 2021.04.23 19:42 신고  수정/삭제  댓글쓰기

    또 공부하러 검색하다 보니 들어왔네요. 날름 먹고 취업하러 가겠습니다..

    • R Friend Rfriend 2021.04.24 13:24 신고  수정/삭제

      제 블로그가 도움이 되었다니 다행입니다.
      취업 준비중이신가 보네요.
      좋은 일이 앞으로 가득하시길 바랄께요.

  4. 김아라 2021.04.11 17:27  수정/삭제  댓글쓰기

    감사합니다!! 또 큰 도움받고 갑니다. 오늘도 좋은하루 되세요:)

  5. 김아라 2021.04.11 00:51  수정/삭제  댓글쓰기

    안녕하세요! 평소에 블로그를 통해 자주 배우고 있습니다. 항상 감사합니다 :)
    R에서 XGBOOST를 통해 분류모델을 돌린 후 K-fold 교차검증을 실행하고 싶은데요. 교차검증을 하기 때문에 따로 train/test 셋을 나누지 않고 전체 데이터를 가지고 모델을 돌리고 난 후 전체데이터와 모델을 confusionmatrix해도 맞는 것인지 궁금합니다.
    또한 R에서 xgboost 알고리즘에서 kfold사용하는 방법도 궁금합니다. xgb.cv에서만 사용가능한 것인지, 이를 xgb.train에 어떻게 적용하는지 코드가 궁금합니다. 이것과 별개로 기본적으로 어떻게 하는지 궁금합니다.

    • R Friend Rfriend 2021.04.11 16:42 신고  수정/삭제

      안녕하세요.

      블로그 좋게 봐주셔서 감사합니다.

      (1) train-test set split 은 해야 합니다.
      train set 에 대해서 k-fold CV를 해서 hyper-parameter tuning을 하구요, 최종 best hyper-parameter 조합으로 다시 train set 모두에 대해 다시 training을 한 모델을 가지고, 마지막에 test set에 최종 모델 성능을 평가합니다.


      (2) XGboost CV 예제 코드는 아래 링크를 참조하세요.

      https://rdrr.io/cran/xgboost/man/xgb.cv.html

  6. 한이이 2021.04.05 02:41 신고  수정/삭제  댓글쓰기

    안녕하세요.
    올려주신 정보들로 정말 많은 것을 배우고, 습득하고 있습니다.
    정말 감사합니다.

    다름이 아니라,
    기준점에서 설정한 반경 내에 존재하는 업체의 수를 파악하고 싶은데 방법을 몰라 이렇게 글 남깁니다.

    이해를 돕기 위해 예시를 들겠습니다.
    홍대역 근처의 1,000개의 업체 데이터(좌표, 상호명, 주소 등)로,
    업체_1 좌표를 기준으로 반경 1km 안에 위치한 업체의 수
    업체_2 좌표를 기준으로 반경 1km 안에 위치한 업체의 수를 알고 싶습니다

    혹시 생각 나시는 알고리즘 혹은 방법 있으시면 알려주실수 있을까요ㅠㅠ

    조언을 주시면 정말 감사하겠습니다.

    • R Friend Rfriend 2021.04.06 11:56 신고  수정/삭제

      안녕하세요.

      PostgreSQL 또는 Greenplum DB 에서 지리공간 데이터 분석을 할 때 PostGIS 오픈소스를 사용하면 매우 빠르게 대용량 데이터를 분석할 수 있습니다.

      구글링에 PostgreSQL (버전9.4 이상), 또는 Greenplum(버전 6.x 이상), PostGIS, Cross Join Lateral, ST_DWithin() 등의 키워드를 넣어서 검색해보시면 예제 코드를 찾으실 수 있을 거예요.

      Cross Join Lateral, ST_DWithin() 이 아마 찾으시는 함수일거 같네요.

      ps. 방명록에 글을 남기시면 제 핸드폰으로 글 등록 알람이 안옵니다. 제가 블로그 웹페이지에 로그인을 해야지만 그때서야 신규 방명록 글 등록 메시지가 보입니다. 제가 일주일에 한두번 정도밖에(그것도 보통 주말에 글 쓰느라고) 웹페이지 로그인을 하므로 방명록에 글을 남겨주시면 제가 모르고 있다가 느지막히 확인하는 경우가 많습니다. 궁금한게 있으시면 가급적 포스팅의 댓글란에 남겨주시면 제가 모바일로 알람 받고 적어도 당일 밤에는 답글을 남길 수 있습니다.

  7. MS Yi 2021.03.24 18:42  수정/삭제  댓글쓰기

    안녕하세요 질문이 있어서 방명록에 글을 남깁니다.

    R을 사용하여 인터넷 상 데이터를 불러오는 연습을 하는 도중

    url <- "http://www.nrc.gov/reading-rm/doc-collections/event-status/reactor-status/powerreactorstatusforlast365days.txt"

    npower<-read.table(url, header = TRUE, sep = "|",
    stringsAsFactors = FALSE)

    위와 같이 명령어를 시행하였습니다.

    그 결과

    Error in file(file, "rt") : 커넥션을 열 수 없습니다
    추가정보: 경고메시지(들):
    In file(file, "rt") : InternetOpenUrl failed: '작업 시간을 초과했습니다.'

    라는 경고메시지가 나오는데요.

    도무지 해결책을 찾을 수 가 없어서요.

    조언을 주시면 감사하겠습니다.


    • R Friend Rfriend 2021.03.25 15:50 신고  수정/삭제

      안녕하세요.

      남겨주신 코드를 그대로 저도 실행해보니 저는 에러 없이 잘 읽어옵니다.

      아마도 웹 서버가 정상작동하지 않은 시간에 R 코드를 실행해서 url 에 접속을 못해서 그런게 아닌가 싶습니다. 다시 한번 시도해보시기 바랍니다.

  8. . 2021.03.22 17:23  수정/삭제  댓글쓰기

    안녕하세요,
    학생 때도 선생님 블로그보며 도움 많이받았는데 직장인이 된 지금도 막힐 때 이곳으로 오게됩니다.
    방금도 덕분에 하나 해결하고 인사드리고 싶어졌는데 방명록을 발견해서 안부남기고 갑니다.
    항상 좋은 자료 올려주셔서 감사드립니다.

    • R Friend Rfriend 2021.05.07 23:26 신고  수정/삭제

      따뜻한 방명록 글 남겨주셔서 감사합니다.
      이제서야 글 남겨주신 내용 확인했네요.
      포스팅한 보람이 있구나 싶어 기분이 흐믓해지네요. 감사합니다. :-)

  9. jy0824 2021.03.21 01:10  수정/삭제  댓글쓰기

    안녕하세요 질문이 있어서 방명록 남깁니다
    답변 가능하시다면 답변 부탁드려도 될까요..?
    일단... R스튜디오로 연습중인 초보자입니다.

    df_csv_exam <- read.csv("csv_exam.csv")
    하고, df_csv_exam 실행을 했는데
    에러: 객체 'df_csv_exam'를 찾을 수 없습니다 .
    이렇게 에러 메시지가 생성이 됩니다!
    그래서, 저장된 폴더 경로를 따라서...
    df_csv_exam <- read.csv("D:/Rproject/easy_r/csv_exam.csv")
    이렇게 해도 마찬가지에요 ㅠㅠ
    제가 무얼 잘못하고 있는걸까요?


    그리고 제로는 D:/Rproject/easy_r/에 있는데 getwd()하니까 C:/Users/user/Documents/로 나옵니다 ㅠㅠ 이렇게도 적용해 봤는데 역시

    > read.csv("D:/RProject/easy_r/csv_exam.csv")
    Error in file(file, "rt") : 커넥션을 열 수 없습니다
    추가정보: 경고메시지(들):
    In file(file, "rt") :
    파일 'D:/RProject/easy_r/csv_exam.csv'를 여는데 실패했습니다: No such file or directory
    > read.csv("D:/RProject/easy_r/csv_exam.csv")
    Error in file(file, "rt") : 커넥션을 열 수 없습니다
    추가정보: 경고메시지(들):
    In file(file, "rt") :
    파일 'D:/RProject/easy_r/csv_exam.csv'를 여는데 실패했습니다: No such file or directory
    > read.csv("csv_exam.csv")
    Error in file(file, "rt") : 커넥션을 열 수 없습니다
    추가정보: 경고메시지(들):
    In file(file, "rt") :
    파일 'csv_exam.csv'를 여는데 실패했습니다: No such file or directory
    > read.csv("D:/RProject/easy_r/csv_exam.csv")
    Error in file(file, "rt") : 커넥션을 열 수 없습니다
    추가정보: 경고메시지(들):
    In file(file, "rt") :
    파일 'D:/RProject/easy_r/csv_exam.csv'를 여는데 실패했습니다: No such file or directory
    > read.csv("C:/Users/user/Documents/csv_exam.csv")
    Error in file(file, "rt") : 커넥션을 열 수 없습니다
    추가정보: 경고메시지(들):
    In file(file, "rt") :
    파일 'C:/Users/user/Documents/csv_exam.csv'를 여는데 실패했습니다: No such file or directory
    > getwd()
    [1] "C:/Users/user/Documents"
    > read.csv("csv_exam.csv")
    Error in file(file, "rt") : 커넥션을 열 수 없습니다
    추가정보: 경고메시지(들):
    In file(file, "rt") :
    파일 'csv_exam.csv'를 여는데 실패했습니다: No such file or directory
    > read.csv("csv_exam.csv")
    Error in file(file, "rt") : 커넥션을 열 수 없습니다
    추가정보: 경고메시지(들):
    In file(file, "rt") :
    파일 'csv_exam.csv'를 여는데 실패했습니다: No such file or directory

    이런 에러 메시지가 뜹니다, 제가 뭘 잘못한걸까요 ㅠㅠ

    • R Friend Rfriend 2021.03.21 22:05 신고  수정/삭제

      안녕하세요.

      파일 읽어오기가 안되서 많이 당황하셨을 것 같습니다.

      (1) "No such file or directory
      > read.csv("D:/RProject/easy_r/csv_exam.csv""
      ==> 에러 메시지를 보니 해당 경로에 파일이 없는 것 같습니다.

      list.files() 함수로 해당 경로에 파일이 있는지 확인해보시기 바랍니다.
      (참고: https://rfriend.tistory.com/219)

      (2) 작업경로 설정은 setwd() 함수를 사용하면 됩니다.
      ==> https://rfriend.tistory.com/12

  10. 분석공부 2021.01.22 03:07  수정/삭제  댓글쓰기

    안녕하세요, 선생님.
    파이썬 공부를 위해 구글에 검색을 하면 백이면 백 다 선생님 홈페이지가 나옵니다.
    정말 큰 도움을 받아 개인 프로젝트 3개를 완료하였습니다.
    한 번도 뵌 적이 없지만 정보를 볼 때마다 감사한 마음이 들어 안부 인사 드립니다.
    포스팅을 보면, 도대체 어떤 분일까, 대단하시다고 늘 생각합니다.^^
    저도 선생님 같은 사람이 되고 싶습니다.
    새해 복 많이 받으세요! 항상 감사합니다!

    • R Friend Rfriend 2021.01.23 17:45 신고  수정/삭제

      안녕하세요.

      프로젝트 3개를 완료하셨다니 축하드립니다. 프로젝트 끝내고 나면 정말 뿌뜻하고 기분 좋지요. ^__^

      블로그 좋게 봐주셔서 감사합니다.

      새해에 건강하시고, 복 많이 받으세요!