Bash에서 텍스트 파일의 열 평균을 계산하는 빠른 명령

Bash에서 텍스트 파일의 열 평균을 계산하는 빠른 명령

탭으로 구분된 데이터 파일(또는 다른 구분 기호)이 있는 경우 열의 평균을 어떻게 계산합니까?

이러한 종류의 파일에 대해 간단한 수학 연산을 수행하는 간단한 바이너리가 없다는 점은 안타깝습니다.

답변1

awk -F'\t' '{ sum += $1 } END { print sum / NR }'

다음은 $1첫 번째 \t로 구분된 열입니다.

답변2

R이 설치되어 있으면 다음을 사용할 수도 있습니다.

Rscript -e "(mean(read.table(\"file.tab\")))"

함수(평균)를 다음과 같이 다른 통계 함수로 변경할 수도 있습니다.

Rscript -e "(mean(read.table(\"file.tab\")))"
Rscript -e "(sd(read.table(\"file.tab\")))"
Rscript -e "(summary(read.table(\"file.tab\")))"

예를 들어 열 3을 사용하여 열을 지정하려면 [,3] 표기법을 사용합니다.

Rscript -e "(sum(read.table(\"file\")[,3]))"

즐기다!

관련 정보