홈>
나는 온라인에서 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
- 답변 # 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')
관련 자료
- python - pandas에서 r의 seq 함수를 사용하는 방법
- xml - xls에서 합계 함수를 사용하는 방법
- unreal 4 - Pitch, Roll 및 Yaw 대신 X, Y 및 Z를 사용하는 방법
- javascript - 반응 메모 사용 방법
- javascript - OOP에서 가져 오기를 사용하는 방법은 무엇입니까?
- html - iframe 용 이미지 사용 방법
- c# - dotnet cli에서 "-optimize"를 어떻게 사용합니까?
- r - ifTHEN 문 사용 방법
- flutter - 변수에서 클래스를 사용하는 방법?
- javascript - npm 패키지 사용 방법
- visual studio - Wix Toolset의 HarvestDirectory를 어떻게 사용하나요?
- reactjs - React에서 API로 useState를 사용하는 방법
- android - Java에서 MaterialSharedAxis 전환을 사용하는 방법
- java - Gradle 45에서 junit5를 사용하는 방법
- c++ - 함수에서 파일을 열고 메인에서 사용
- javascript - 생성기와 함께 Promise를 사용하는 방법은 무엇입니까?
- node.js - 헬멧은 어떻게 사용하나요?
- php - 네임 스페이스 B의 기능에서 네임 스페이스 A의 기능 사용
- PHP 양식 세션을 어떻게 사용할 수 있습니까?
- DDEV에서 PHP 73 또는 74와 함께 xdebug 30을 어떻게 사용할 수 있습니까?
관련 질문
- Rs 요약 기능을 사용할 때 나타나는 오류. 이 문제의 원인이 무엇인지 아십니까?
- 내 r-스크립트가 rstudio에서 작동하고 예정된 시간에 작동하지 않는 이유는 무엇입니까?
- r : 그룹화된 데이터에서 첫 번째 및 마지막 행 선택
- r : 이 익명 기능이 작동하지 않는 이유는 무엇입니까?
- r : 열 간에 비동기 데이터를 조건부로 동기화
- 기본 파이프를 사용하여 기본 R에서 여러 열을 선택하는 방법 |>?
- r : 처음 나타난 이후 행을 계산하는 다른 변수를 기반으로 변수 만들기
- 시도에 의해 R에서 시계열 데이터 확산
- R을 사용하여 여러 Excel 파일을 반복적으로 읽고 조작하고 하나의 데이터 프레임에 추가합니다.
- r : 여러 조건을 기반으로 변수를 다시 코딩하는 방법이 있습니까?
귀하의 문제는 비표준 평가와 관련이 있습니다. 기능은 당신에게주는 경향이 있습니다.
dplyr
를 참조 할 때 처음a
에 전화 R은 그것을 평가하려고 시도하는데, 물론 실패합니다. (호출 환경 이상에 이름이 지정된 변수가 있으면 더 혼란 스럽습니다 ...)point_dist
의 NSE 당신이dplyr
같은 것을 할 수 있음을 의미 , 대부분의 표준 평가 기능을 사용하려면select(mtcars, cyl)
가 필요합니다.myfunc(mtcars, "cyl")
라는 변수가 없기 때문에 통화 환경에서.귀하의 경우 : 시도하십시오 :
일반 R 함수 정의에 익숙하거나 NSE에 익숙하지 않은 경우 함수에서 따옴표없는 열 이름을 처리하는이 방법은 혼동 될 수 있습니다. 이 템플릿을 사용하려는 경우이 템플릿은 좋은 템플릿이 될 수 있습니다. 그렇지 않으면강하게아래의 첫 번째 참조에서 조금 더 읽을 것을 촉구합니다
.NSE에 대한 몇 가지 좋은 참고 자료, 특히 조잡한 물건에 관한 것 :
https://dplyr.tidyverse.org/articles/programming.html
http://adv-r.had.co.nz/Computing-on-the-language.html