कार्यों का उल्लेख dplyr::rename_withऔर rlang::set_namesपहले से ही कुछ जवाब हैं । इनके द्वारा अलग होते हैं। यह उत्तर स्तंभों का नाम बदलने के लिए फ़ंक्शंस और फ़ार्मुलों के उपयोग के बीच के अंतरों को दिखाता है।
rename_withdplyrपैकेज से .colsतर्क के रूप में दिए गए स्तंभों के चयन का नाम बदलने के लिए एक फ़ंक्शन या सूत्र का उपयोग कर सकते हैं । उदाहरण के लिए फ़ंक्शन नाम पास करना toupper:
library(dplyr)
rename_with(head(iris), toupper, starts_with("Petal"))
फार्मूला पास करने के बराबर है ~ toupper(.x):
rename_with(head(iris), ~ toupper(.x), starts_with("Petal"))
सभी स्तंभों का नाम बदलने के दौरान, आप set_namesrlang पैकेज से भी उपयोग कर सकते हैं । एक अलग उदाहरण बनाने के लिए, आइए paste0नाम बदलने के कार्य के रूप में उपयोग करें । pasteO2 तर्क लेता है, जिसके परिणामस्वरूप दूसरे तर्क को पारित करने के लिए अलग-अलग तरीके हैं जो कि हम एक फ़ंक्शन या सूत्र का उपयोग करते हैं।
rlang::set_names(head(iris), paste0, "_hi")
rlang::set_names(head(iris), ~ paste0(.x, "_hi"))
एक ही साथ प्राप्त किया जा सकता rename_withपहले तर्क के रूप में डेटा फ्रेम पारित करके .data, दूसरा तर्क के रूप में कार्य .fn, तीसरा तर्क के रूप में सभी स्तंभों .cols=everything()और चौथे तर्क के रूप में फ़ंक्शन पैरामीटर ...। वैकल्पिक रूप से आप दूसरे तर्क के रूप में दिए गए एक सूत्र में दूसरे, तीसरे और चौथे तर्क को रख सकते हैं।
rename_with(head(iris), paste0, everything(), "_hi")
rename_with(head(iris), ~ paste0(.x, "_hi"))
rename_withकेवल डेटा फ्रेम के साथ काम करता है। set_namesअधिक सामान्य है और वेक्टर नामकरण भी कर सकता है
rlang::set_names(1:4, c("a", "b", "c", "d"))
old = c("a", "d", "e")