2014-10-23 6 views
0

나는 이러한 파일의 많은 심문과 표준 편차를 얻을 의미 싶습니다인쇄 표준 편차를 사용하여 R/AWK

내 쉘 스크립트에서
4.685 
5.440 
5.751 
4.685 
3.979 

숫자의 열이있는 파일이

내가 표준 편차를 AWK를 사용하는 경우 awk '{sum+=$1} END { print sum/NR}' file

충분히 쉽게 AWK를 사용하여 평균 달성 할 수 awk '{x[NR]=$0; s+=$0} END{a=s/NR; for (i in x){ss += (x[i]-a)^2} sd = sqrt(ss/NR); print sd}' file

0.625이 있습니다. 이 숫자는 excel에서 나와 0.699이되는 것과 다릅니다. 나는 이후로는 SD 출력 명령 줄에서 R을 실행할 수 있습니다 발견했다 그러나 R -q -e "x <- read.csv('file', header = F); sd(x[ , 1])"

을,이

[1] 4.908 
\> 
\> 

내가 단지를 인쇄하기 위해 R 명령을 조정할 수

약간 지저분한 출력을 제공합니다 머리와 컷/awk에 의지하지 않고 번호?

또한 표준 편차를 추출하는 awk 코드의 문제점은 무엇입니까?

나는 확실히 당신의 AWK 잘못하지만 R 명령, 당신은 write이 도움이 찾을 수있는 무엇을 말할 수 없다
+1

나는 R 명령 줄 부분에 대해 언급 할 수 없지만, 내가 할 수있는 Excel의 표준 편차와 awk 표준 편차는 'N'(관측 수)으로 나누기 때문에 다르며 Excel은 아마도 N-1로 나눕니다. – blakeoft

+1

R은 N-1로 나눕니다. '? sd'. – Vlo

답변

0

:

R -q -e "x<- read.csv('file.csv',header=FALSE)[,1] ; write(sd(x),file='result.txt')" 
관련 문제