मैं 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_, और यह वास्तव में अन्य कार्यों से स्पष्ट नहीं है कि इसका उपयोग कैसे किया जाए।