我有变量“data $ LINE”和“data $ STATE”,我想用一个循环来重命名它们,而不是“data $”。然后我希望相同的循环在我的代码中输入“LINE”和“STATE”,但我也希望“data $ LINE”和“data $ STATE”也在循环中运行。原因是我有两个图形函数,一个依赖于一个名称,即“LINE”,另一个依赖于“data $ LINE”,我希望这两个图形为“LINE”和“STATE”运行,所以在循环之后,制作了4张图表。
代码是:
for(variable in c(data$LINE, data$STATE)) {
variable_name <- sub("data$", replacement = "", "data$variable", fixed = TRUE)
whatevergraphingfunction(variable)
differentgraphingfunction(variable_name)
}
这不能正常工作(它似乎没有创建2个variable_names),任何帮助都将不胜感激。
答案 0 :(得分:0)
我认为你的问题出在for(variable in c(data$LINE, data$STATE))
,因为你试图用'for function'的字符串连接'symbols',然后在sub()运行后将它们转换为名字。
#start with variables as strings
for(variable in c("data$LINE", "data$STATE")) {
#Remove the 'data$'
variable_name <- sub("data$", replacement = "", variable, fixed = TRUE)
# convert strings back to names
as.name(variable)
as.name(variable_name)
# Graph
whatevergraphingfunction(variable)
differentgraphingfunction(variable_name)
}
在不知道如何使用LINE
和STATE
的情况下,我不确定您是否需要将它们称为名称。如果没有,只需删除as.name(variable_name)
行。
如果这对您有用,请告诉我。