고유 한 값을 기반으로 데이터 프레임의 열에서 평균값을 얻으려고합니다. 그래서이 칼럼에서 칼럼 b와 칼럼 c의 의미를 얻으려고 시도하는 것은 칼럼 a의 고유 한 값을 기반으로합니다. 나는 (a)가 a의 고유 한 값으로 계산할 것이라고 생각했지만 (a의 고유 한 값을 제공함) 전체 b 또는 c 열의 평균을 나타냅니다.ddply에서 회전 변수
df2<-data.frame(a=seq(1:5),b=c(1:10), c=c(11:20))
simVars <- c("b", "c")
for (var in simVars){
print(var)
dat = ddply(df2, .(a), summarize, mean_val = mean(df2[[var]])) ## my script
assign(var, dat)
}
c
a mean_val
1 15.5
2 15.5
3 15.5
4 15.5
5 15.5
열의 고유 값을 기준으로 평균을 취할 수있는 방법은 무엇입니까?
감사합니다.
데이터 프레임을 다시 지정하지 마십시오. mean_val = mean (df2 [[var]])이 아닌'mean_val = mean (var)'입니다. – Gregor
mean_val = mean (var)로 바꾸면 작동하지 않습니다. mean.default (var)에서 오류를 반환합니다. 인수가 숫자 또는 논리가 아니므로 NA를 반환합니다. – kingmidaz
mean_val 열이 틀린 것을 제외하고는 원하는 출력이 위의 표와 같습니다. 그것은 c 열에있는 모든 값에 대해 평균을 취하고 있습니다. 그러나 c 열의 값은 a = 1, c 열의 값을 의미합니다. 여기서 a = 2, c 열의 값을 의미합니다. 여기서 a = 3, 등 내가 원하는 : dat = ddply (df2,. (a), 요약, mean_val = mean (c))하지만 mean (c) mean (var)은 0이 아니기 때문에 작동합니다. – kingmidaz