【R】dplyr mutate 중에서 복수열명을 선택해 합한다
선택한 열의 행만 추가하고 싶습니다.
많은 열이 있고 흩어져있는 변수들의 값을 합산하고 싶을 때
예를 들어 ↓ 표 중 aa, vv, ew, ss, 열만 합한 변수를 만들고 싶습니다.
해결책
sample.R
library(dplyr)
df <- data.frame(ID = c("AA","BB","CC"),
a1 = c(NA,2,3),
aa = c(1,NA,6),
cc = c(NA,2,2),
d4 = c(NA,6,NA),
vv = c(NA,2,9),
dd = c(NA,2,2),
ew = c(3,2,NA),
ss = c(NA,5,3),
kk = c(6,NA,NA)
)
# 合計したい変数名をベクトルで用意する
namelist <- c("aa","vv","ew","ss")
# one_ofで選択して行を足す
df_added <- df %>%
mutate(sum_row = select(., one_of(namelist)) %>%
rowSums(na.rm = T))
# > df_added
# ID a1 aa cc d4 vv dd ew ss kk sum_row
# 1 AA NA 1 NA NA NA NA 3 NA 6 4
# 2 BB 2 NA 2 6 2 2 2 5 NA 9
# 3 CC 3 6 2 NA 9 2 NA 3 NA 18
이 정도의 열수라면 그다지 힘들지는 않지만,
합계하고 싶은 열수가 많을 때는 ,.
막혔을 때 도움이되면 다행입니다.
더 좋은 방법이 있으면 꼭 가르쳐주세요!
참고
Reference
이 문제에 관하여(【R】dplyr mutate 중에서 복수열명을 선택해 합한다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sasaki_K_sasaki/items/0d2bb8372f7e77bb2d7c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
sample.R
library(dplyr)
df <- data.frame(ID = c("AA","BB","CC"),
a1 = c(NA,2,3),
aa = c(1,NA,6),
cc = c(NA,2,2),
d4 = c(NA,6,NA),
vv = c(NA,2,9),
dd = c(NA,2,2),
ew = c(3,2,NA),
ss = c(NA,5,3),
kk = c(6,NA,NA)
)
# 合計したい変数名をベクトルで用意する
namelist <- c("aa","vv","ew","ss")
# one_ofで選択して行を足す
df_added <- df %>%
mutate(sum_row = select(., one_of(namelist)) %>%
rowSums(na.rm = T))
# > df_added
# ID a1 aa cc d4 vv dd ew ss kk sum_row
# 1 AA NA 1 NA NA NA NA 3 NA 6 4
# 2 BB 2 NA 2 6 2 2 2 5 NA 9
# 3 CC 3 6 2 NA 9 2 NA 3 NA 18
이 정도의 열수라면 그다지 힘들지는 않지만,
합계하고 싶은 열수가 많을 때는 ,.
막혔을 때 도움이되면 다행입니다.
더 좋은 방법이 있으면 꼭 가르쳐주세요!
참고
Reference
이 문제에 관하여(【R】dplyr mutate 중에서 복수열명을 선택해 합한다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sasaki_K_sasaki/items/0d2bb8372f7e77bb2d7c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(【R】dplyr mutate 중에서 복수열명을 선택해 합한다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sasaki_K_sasaki/items/0d2bb8372f7e77bb2d7c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)