it-source

data.frame 열 값을 합산하는 방법?

criticalcode 2023. 10. 3. 09:52
반응형

data.frame 열 값을 합산하는 방법?

저는 숫자와 문자로 구성된 몇 개의 열이 있는 데이터 프레임을 가지고 있습니다.특정 열의 합을 계산하는 방법은?구글에서 검색해보니 수많은 기능들이 있습니다.sum,cumsum,rowsum,rowSums,colSums,aggregate,apply) 하지만 다 이해할 수는 없습니다.

예를 들어 데이터 프레임이 있다고 가정합니다.people다음의 열로

people <- read.table(
  text = 
    "Name Height Weight
    Mary 65     110
    John 70     200
    Jane 64     115", 
  header = TRUE
)
…

어떻게 하면 모든 무게의 합을 구할 수 있습니까?

그냥 쓰시면 됩니다.sum(people$Weight).

sum벡터를 합하고,people$Weight데이터 프레임에서 가중치 열을 검색합니다.

참고 - 를 사용하여 내장된 도움말을 얻을 수 있습니다.?sum,?colSums, 등(그런데,colSums각 열에 대한 합계를 제공합니다).

값을 합하는 방법data.frame먼저 벡터로 추출해야 합니다.

다음과 같은 몇 가지 방법이 있습니다.

# $ operatior
x <- people$Weight
x
# [1] 65 70 64

또는 사용.[, ]행렬과 유사:

x <- people[, 'Weight']
x
# [1] 65 70 64

벡터가 있으면 임의의 벡터 대 스칼라 함수를 사용하여 결과를 집계할 수 있습니다.

sum(people[, 'Weight'])
# [1] 199

데이터에 NA 값이 있는 경우 다음을 지정해야 합니다.na.rm매개 변수:

sum(people[, 'Weight'], na.rm = TRUE)

콜 합계 후 주문하기:

order(colSums(people),decreasing=TRUE)

열이 20개 이상인 경우

order(colSums(people[,c(5:25)],decreasing=TRUE) ##in case of keeping the first 4 columns remaining.

당신은 이 문제를 해결하기 위해 정갈한 버전의 패키지를 사용할 수 있으며 다음과 같이 보일 것입니다. (나에게 더 읽기 쉽습니다.)

library(tidyverse)  
people %>%
summarise(sum(weight, na.rm = TRUE))

열에 'NA' 값이 있을 때,

sum(as.numeric(JuneData1$Account.Balance), na.rm = TRUE)

언급URL : https://stackoverflow.com/questions/9676212/how-to-sum-data-frame-column-values

반응형