Sorum, bir veri çerçevesinin birden çok sütunundaki değerleri toplamayı ve kullanarak bu toplama karşılık gelen yeni bir sütun oluşturmayı içerir dplyr
. Sütunlardaki veri girişleri ikilidir (0,1). summarise_each
Veya mutate_each
işlevinin satır bazında bir analoğunu düşünüyorum dplyr
. Aşağıda, veri çerçevesinin minimal bir örneği verilmiştir:
library(dplyr)
df=data.frame(
x1=c(1,0,0,NA,0,1,1,NA,0,1),
x2=c(1,1,NA,1,1,0,NA,NA,0,1),
x3=c(0,1,0,1,1,0,NA,NA,0,1),
x4=c(1,0,NA,1,0,0,NA,0,0,1),
x5=c(1,1,NA,1,1,1,NA,1,0,1))
> df
x1 x2 x3 x4 x5
1 1 1 0 1 1
2 0 1 1 0 1
3 0 NA 0 NA NA
4 NA 1 1 1 1
5 0 1 1 0 1
6 1 0 0 0 1
7 1 NA NA NA NA
8 NA NA NA 0 1
9 0 0 0 0 0
10 1 1 1 1 1
Şunun gibi bir şey kullanabilirim:
df <- df %>% mutate(sumrow= x1 + x2 + x3 + x4 + x5)
ancak bu, sütunların her birinin adının yazılmasını içerir. 50 tane sütunum var. Ek olarak, bu işlemi uygulamak istediğim döngünün farklı yinelemelerinde sütun adları değişir, bu nedenle herhangi bir sütun adı vermek zorunda kalmamaya çalışmak istiyorum.
Bunu en verimli şekilde nasıl yapabilirim? Herhangi bir yardım çok takdir edilecektir.
dplyr
? Neden basit birdf$sumrow <- rowSums(df, na.rm = TRUE)
R tabanından değil ? Yadf$sumrow <- Reduce(`+`, df)
da yaptığınız şeyi aynen kopyalamak istiyorsanızdplyr
.