2017-10-27 3 views
0

이 코드를 실행하면 1232 행의 데이터가 새로운 열 A1과 함께 나타납니다. 나는 모든 "1"에 대해 A1에 나타나는 기능을 원한다. "2"와 "3"에 대해 마찬가지로 Sepal.Length 값의 평균을 구해야하고 세 평균값을 새 벡터에 지정해야한다. 따라서 위의 요구 사항을 기반으로 평균값이 세 개인 벡터입니다.다른 열의 평균값을 기준으로 한 열의 평균 찾기

iris1 = iris[1:12,] 
a = data.frame(A1=rep(1,4)) 
b = data.frame(A1=rep(2,4)) 
c = data.frame(A1 = rep(3,4)) 
abc = rbind(a,b,c) 
abc 
iris2 = data.frame(abc,iris1) 
View(iris2) 
+1

당신은 A1으로 그룹을 의미합니까, 모든 행에 대해 Sepal.Length의 의미 취득 ? 예상되는 결과는 무엇입니까? – zx8754

+2

예 : 'sapply (split (iris2 $ Sepal.Length, iris2 $ A1), mean)'또는'집계 (Sepal.Length ~ A1, iris2, mean)'입니까? – Axeman

+0

감사합니다 Axeman, 내 문제를 완벽하게 해결했습니다. –

답변

0

library(dplyr) 
iris2 %>% group_by(A1) %>% summarise(Avg = mean(Sepal.Length,na.rm = TRUE)) 

시도하고 당신이 정말로 단지 평균과 벡터를 원하는 경우

iris2 %>% group_by(A1) %>% summarise(Avg = mean(Sepal.Length,na.rm = TRUE)) %>% `$`(Avg) 
+1

또한'. $ Avg' 대신'dplyr :: pull'을 참조하십시오. – zx8754

+0

고마워 베르틸, 이걸 고려해 볼께. 너의 도움에 감사한다. –

관련 문제