कार्यों का उल्लेख dplyr::rename_with
और rlang::set_names
पहले से ही कुछ जवाब हैं । इनके द्वारा अलग होते हैं। यह उत्तर स्तंभों का नाम बदलने के लिए फ़ंक्शंस और फ़ार्मुलों के उपयोग के बीच के अंतरों को दिखाता है।
rename_with
dplyr
पैकेज से .cols
तर्क के रूप में दिए गए स्तंभों के चयन का नाम बदलने के लिए एक फ़ंक्शन या सूत्र का उपयोग कर सकते हैं । उदाहरण के लिए फ़ंक्शन नाम पास करना toupper
:
library(dplyr)
rename_with(head(iris), toupper, starts_with("Petal"))
फार्मूला पास करने के बराबर है ~ toupper(.x)
:
rename_with(head(iris), ~ toupper(.x), starts_with("Petal"))
सभी स्तंभों का नाम बदलने के दौरान, आप set_names
rlang पैकेज से भी उपयोग कर सकते हैं । एक अलग उदाहरण बनाने के लिए, आइए paste0
नाम बदलने के कार्य के रूप में उपयोग करें । pasteO
2 तर्क लेता है, जिसके परिणामस्वरूप दूसरे तर्क को पारित करने के लिए अलग-अलग तरीके हैं जो कि हम एक फ़ंक्शन या सूत्र का उपयोग करते हैं।
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")