मैं dplyr::mutate()
एक डेटा फ्रेम में कई नए कॉलम बनाने के लिए उपयोग करना चाहता हूं । स्तंभ के नाम और उनकी सामग्री गतिशील रूप से उत्पन्न की जानी चाहिए।
आइरिस से उदाहरण डेटा:
library(dplyr)
iris <- tbl_df(iris)
मैं एक समारोह बना लिया है से अपने नए कॉलम उत्परिवर्तित करने के लिए Petal.Width
चर:
multipetal <- function(df, n) {
varname <- paste("petal", n , sep=".")
df <- mutate(df, varname = Petal.Width * n) ## problem arises here
df
}
अब मैं अपने कॉलम बनाने के लिए एक लूप बनाता हूं:
for(i in 2:5) {
iris <- multipetal(df=iris, n=i)
}
हालांकि, चूंकि म्यूटेट सोचता है कि varname एक शाब्दिक चर नाम है, लूप केवल चार के बजाय एक नया चर (varname कहा जाता है) बनाता है (जिसे petal.2 - petal.5 कहा जाता है)।
मैं mutate()
अपने गतिशील नाम को चर नाम के रूप में कैसे उपयोग कर सकता हूं ?
dplyr
एक है अमानक मूल्यांकन पर पूरे शब्दचित्र
mutate_
, और यह वास्तव में अन्य कार्यों से स्पष्ट नहीं है कि इसका उपयोग कैसे किया जाए।