【发布时间】:2018-12-13 01:40:27
【问题描述】:
这应该很简单,它必须是语法,但我到处搜索以前发布的解决方案。只是尝试使用循环降低表中变量名的大小写。
colnames 命令可以在没有“for”的情况下工作:
colnames(case) <- tolower(colnames(case))
for 循环在没有列名的情况下工作:
tablen<-c("account","case")
for(x in tablen) {
print(x)
}
但结合
tablen<-c("account","case")
for(x in tablen) {
colnames(x) <- tolower(colnames(x))
}
返回:
Error in `colnames<-`(`*tmp*`, value = tolower(colnames(x))) :
attempt to set 'colnames' on an object with less than two dimensions
任何帮助表示赞赏!
感谢到目前为止的回复,但我正在寻求的解决方案是如何制作 命令:
colnames(case) <- tolower(colnames(case))
使用 for 循环工作。在此示例中,文本“case”指的是 data.frame。上述命令在不在 for 循环中时会将 case data.frame 的变量名称更改为小写。创建 case 变量名称的新列表并使用 for 循环降低它们的建议有效,但没有达到通过直接引用 data.frame(而不是表中的变量名称)使上述命令工作的预期目标)。似乎 colnames 命令不会接受像 i in for (i in table) 这样的运算符。
【问题讨论】:
-
虽然我对 R 一无所知,但我注意到在第二个示例中您有
tablen<-c("account","case"),但在第三个(损坏的)示例中您有tablen<("account","case")(没有-c)。这可能是问题吗? -
@3ocene 这不是问题。
-
感谢 3ocene,但在我的示例中这是一个错字,但不是问题,谢谢!!