의 데이터 프레임에서 각 사이트와 연도를 의미합니다. 따라서 사이트, 연도 및 측정 된 변수 (x)를 포함하는 데이터 세트가 있습니다. x는 일년 내내, 수년에 걸쳐 여러 사이트에서 여러 번 측정됩니다. 다음은 내 데이터 세트의 예입니다 (각 x는 다른 날짜에 수집되었습니다. 연중 평균에 관심이 많아서 날짜를 추출했습니다). 데이터 세트 df :값을 계산하는 것은 R
>df
site year x
a 2000 10
a 2000 12
a 2000 13
b 2000 14
b 2000 15
b 2000 17
c 2000 9
c 2000 11
c 2000 11
a 2001 11
a 2001 12
a 2001 12
b 2001 13
...
으로 전화를 걸어 여러 해 간다.
각 사이트 및 연도에 대한 x의 평균을 추출하고 싶습니다. for 루프를 작성했지만 문제가 있습니다. x에 대한 사이트, 연도 및 평균이있는 데이터 프레임을 반환하고 싶지만 df $ x에서 첫 번째 값으로 찾은 모든 변수의 평균을 취한 다음 나머지 결과에 대해 NaN을 반환합니다.
temp <- NULL;
mn.x <- NULL;
a <- NULL;
for(i in unique(df$site)) {
for (j in unique(df$year)) {
site <- i;
year <- j;
a <- data.frame(site, year);
temp <- mean(na.omit(df$x[df$site==i && df$year==j]))
site.year <- data.frame(a, temp)
mn.x <- rbind(temp, site.year)
}
}
그냥 명확하게하는 ... 내가 R에 mn.x 입력 할 때 반환 결과는 10.4 x의 평균입니다
>mn.x
[1] 10.4
[1] NaN
[1] NaN
[1] NaN
[1] NaN
...
입니다 : 여기
내 코드입니다 df $ x (일명 평균 (df $ x))의 모든 값에 대해내 루프에 어떤 문제가 있습니까? 또는 이것이 예제 데이터 세트이므로 실제로 내 데이터 세트에 문제가 있습니까? 그냥 명확하게 ... 클래스 (안양 $ x를) 폴
어떤 생각에 대한감사합니다,
"숫자"입니다이 일을하는 인기있는 방법은 plyr
을 사용하는 것입니다
또 다른 집계 질문 : '집계 (x ~ 사이트 + 연도, 데이터 = df, 평균)' – thelatemail
폴. 다음 번에 몇 가지 검색을 시도하십시오. 너무 많은 사람들이 그룹별로 질문을하므로 적어도 하나는 놓치기가 어렵습니다. 그리고 btwn "&&"와 "&"의 차이를 배우십시오. –
나는 네 엉덩이를 건네주는 것이 가끔 배우는 법이라고 생각해. – logicForPresident