मेरे प्रश्न में एक डेटा फ्रेम के कई कॉलमों में मानों को समेटना और इस समन का उपयोग करके एक नया कॉलम बनाना शामिल है dplyr
। कॉलम में डेटा प्रविष्टियां बाइनरी (0,1) हैं। मैं के एक पंक्ति-वार एनालॉग summarise_each
या mutate_each
फ़ंक्शन के बारे में सोच रहा हूं dplyr
। नीचे डेटा फ्रेम का एक न्यूनतम उदाहरण है:
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
मैं कुछ का उपयोग कर सकता है जैसे:
df <- df %>% mutate(sumrow= x1 + x2 + x3 + x4 + x5)
लेकिन इसमें प्रत्येक कॉलम के नाम लिखना शामिल होगा। मुझे 50 कॉलम पसंद हैं। इसके अलावा, कॉलम के नाम लूप के विभिन्न पुनरावृत्तियों पर बदलते हैं जिसमें मैं इस ऑपरेशन को लागू करना चाहता हूं, इसलिए मैं किसी भी कॉलम नाम देने से बचने की कोशिश करना चाहूंगा।
मैं इसे सबसे कुशलता से कैसे कर सकता हूं? किसी भी सहायता की काफी सराहना की जाएगी।
dplyr
?df$sumrow <- rowSums(df, na.rm = TRUE)
आधार आर से सिर्फ एक सरल क्यों नहीं ? याdf$sumrow <- Reduce(`+`, df)
यदि आप उस सटीक चीज़ को दोहराना चाहते हैं जो आपने किया थाdplyr
।