2016-06-14 3 views
0

안녕하세요, 데이터가 많아서 계산해야합니다. 25 개의 열 (변수)이 있으며 각 열에는 수천 개의 값이 들어 있습니다. 그러나 누락 된 값. I 내가 각 열의 SD를 산출하고, NA - 값을 무시할 수있는 방법R : NA 값에도 불구하고 data.frame에서 cols의 표준 편차를 계산합니다.

colMeans(df, na.rm = TRUE) 

와 평균 계산? @에서 언급 한 바와 같이

+0

관련에서 summarise_each를 사용할 수 있습니다 http://stackoverflow.com/questions/20794284/means-and-sd-for-columns-in-a-dataframe -with-na-values ​​ – thelatemail

답변

3

당신은 시도 할 수 apply의 출력으로

apply(df, 2, sd, na.rm = TRUE) 

매트릭스이며, 당신이 가장 가능성이 조옮김 할 것이다, 더 직접적이고 안전한 옵션은 lapply 또는 sapply을 사용하는 것입니다 docendodiscimus,

sapply(df, sd, na.rm = TRUE) 
+0

감사하지만 무슨 뜻입니까? – Ernsthaft

+1

@Ernsthaft, 2는 데이터 프레임의 모든 열을 반복한다는 것을 의미합니다. 1을 입력하면 각 개별 값 – Sotos

+1

에 대해 행과 1 : 2를 반복합니다. 새롭고 흥미로운 부분입니다. 초보자를 도와 주셔서 감사합니다. – Ernsthaft

3

우리는 matrixStats에서 colSds 사용할 수 있습니다, matrix로 변환하면

library(matrixStats) 
colSds(as.matrix(df), na.rm=TRUE) 

아니면 dplyr

library(dplyr) 
df1 %>% 
    summarise_each(funs(sd(., na.rm=TRUE))) 
관련 문제