我试图在多个数据集上更改列名。我尝试编写以下函数来执行此操作:
# simplified test data #
df1<-as.data.frame(c("M","F"))
colnames(df1)<-"M1"
# my function #
rename_cols<-function(df){
colnames(df)[names(df) == "M1"] <- "sex"
}
rename_cols(df1)
然而,当在df1上测试此函数时,始终会调用该列&#34; M1&#34;而不是&#34;性别&#34;。我怎么能纠正这个?
解决方案 - 感谢DAVID ARENBERG
rename_cols<-function(df){
colnames(df)[names(df) == "M1"] <- "sex"
df
}
df1<-rename_cols(df1)
答案 0 :(得分:1)
这是解决在临时空间中运行的函数问题的另一种解决方案:
<<-
使用全局赋值运算符df
使名称更改为输入数据框window.location.href = '/certificates/Jon_Doe_AAA000.pdf';
“stick”。当然,这个解决方案并不理想,因为这意味着该功能可能会做出不必要的事情。但我觉得这是你原本想要做的精神。