【发布时间】:2018-04-28 22:38:38
【问题描述】:
我正在尝试在 R 的 for 循环中引用变量名。例如,如果我想将以下每个变量从数字更改为字符串
xtable<- tbl_df(cbind(x1=c(1,2,3), x2=c(3,4,5)))
for (varname in names(xtable)) {
xtable$varname<- as.character(xtable$varname)
}
或通过在每个变量名后添加“a”来重命名每个变量
for (varname in names(xtable)) {
dplyr::rename(xtable, varname = paste0(varname,'a', sep='') )
}
一般来说,我在将 for 循环中的索引变量“varname”引用为它所代表的变量名而不是单词“varname”时遇到了问题。
【问题讨论】:
-
在这两个例子中,都不需要
for循环 -
xtable[,varname] -
@docendodiscimus 如果没有 for 循环,我该怎么做?但是对于更复杂的复杂情况,如何在 for 循环中引用索引变量作为变量名本身?
-
@Amazonian 你想要达到的目标可以用一行来完成:
data.frame(lapply(xtable, as.character))所以不需要for循环 -
@MehdiNellen 谢谢!这适用于第一个 for 循环,但我无法让它适用于第二个......
标签: r variables for-loop indexing dplyr