>
나는 온라인에서 R 함수를 사용하는 방법을 연구하고 있지만 여전히 알아내는 데 어려움을 겪고 있습니다. 도와주세요.

초기 코드는 다음과 같습니다 :

whatever %>%
group_by(a) %>%
summarize(count=n()) %>%
collect() %>%
ggplot(aes(x=a, y=count)) +
geom_point()

같은 기능으로 확인하고 싶은 다른 열이 있기 때문에 이것을 여러 번 반복하고 싶습니다.

내가 쓴 :

point_dist <- function(dta, vari) {
dta %>%
group_by(vari) %>%
summarize(count=n()) %>%
collect() %>%
ggplot(aes(x=vari, y=count)) +
gemo_point()
}
point_dist(whatever, a)

하지만 계속 말해줘 :

Error in eval_bare(sym, env) : object 'a' not found

이유를 모르겠다.

이것이 내가 갈 올바른 방향인지 모르겠습니다.

다시 감사합니다.

  • 답변 # 1

    귀하의 문제는 비표준 평가와 관련이 있습니다.  기능은 당신에게주는 경향이 있습니다. dplyr 를 참조 할 때  처음 a 에 전화 R은 그것을 평가하려고 시도하는데, 물론 실패합니다. (호출 환경 이상에 이름이 지정된 변수가 있으면 더 혼란 스럽습니다 ...)

    point_dist 의 NSE  당신이 dplyr 같은 것을 할 수 있음을 의미 , 대부분의 표준 평가 기능을 사용하려면 select(mtcars, cyl) 가 필요합니다. myfunc(mtcars, "cyl") 라는 변수가 없기 때문에  통화 환경에서.

    귀하의 경우 : 시도하십시오 :

    cyl
    
    

    일반 R 함수 정의에 익숙하거나 NSE에 익숙하지 않은 경우 함수에서 따옴표없는 열 이름을 처리하는이 방법은 혼동 될 수 있습니다. 이 템플릿을 사용하려는 경우이 템플릿은 좋은 템플릿이 될 수 있습니다. 그렇지 않으면강하게아래의 첫 번째 참조에서 조금 더 읽을 것을 촉구합니다

    .

    NSE에 대한 몇 가지 좋은 참고 자료, 특히 조잡한 물건에 관한 것 :

    https://dplyr.tidyverse.org/articles/programming.html

    http://adv-r.had.co.nz/Computing-on-the-language.html

  • 답변 # 2

    데이터와 파이핑을 ggplot으로 요약하는 경우 point_dist <- function(dta, vari) { vari <- enquo(vari) dta %>% group_by(!!vari) %>% summarize(count=n()) %>% collect() %>% ggplot(aes(x=!!vari, y=count)) + gemo_point() } 를 사용할 필요가 없습니다. .

    collect()
    
    

    이 요약 및 플롯 방법을 여러 열에 적용하려면 df <- data.frame(group=sample(letters[1:10],1000,T)) df %>% group_by(group) %>% summarise(n=n()) %>% ggplot(aes(group,n)) + geom_point() 를 사용하는 것이 좋습니다.  그런 다음 gather() 를 사용하여 모든 것을 한 번에 플롯  막대 그래프.

    + facet_wrap()
    
    

    df <- data.frame(matrix(sample(letters[1:10],10000,T),ncol = 10)) df %>% gather(k,v) %>% group_by(k,v) %>% summarise(n=n()) %>% ggplot(aes(k,n,fill=v)) + geom_bar(stat='identity') + facet_wrap(~v) + theme(legend.position = 'none')

  • 이전 api - python을 사용하여 pdf를 만들 수 없습니다 pdfkit error - "wkhtmltopdf 실행 파일을 찾을 수 없습니다 :"
  • 다음 html - CSS는 div를 180도 회전시킵니다