我试图将值分配给连接的变量名称。下面是一个示例:
for(sector in 1:4) {
for(letter in 1:2) {
if (letter == 1) {
letter = 'V'
}
else if (letter == 2) {
letter = 'A'
}
print(paste(toString(sector), letter, "_variable", sep = ""))
paste(toString(sector), letter, "_variable", sep = "") <- sector
}
}
基本上结果必须是:8个变量(1V_variable, 1A_variable, 2V_variable,…)以扇区(= number)作为值。
但是我得到以下错误:
找不到函数"paste " -">
你知道解决这个问题的方法吗?提前感谢!
我想你是在找assign
-
for(sector in 1:4) {
for(letter in 1:2) {
if (letter == 1) {
letter = 'V'
}
else if (letter == 2) {
letter = 'A'
}
print(paste(toString(sector), letter, "_variable", sep = ""))
assign(paste(toString(sector), letter, "_variable", sep = ""), sector)
}
}
你需要使用带有反引号的变量名来访问它们,因为它以数字开头。
`1V_variable`
#[1] 1
`1A_variable`
#[1] 1
旁注-在全局环境中创建这么多变量不被认为是一个好的实践,尝试使用列表代替。
在你的循环中试试这个
newvarname = paste(toString(sector), letter, "_variable", sep = "")
eval(parse(text = paste0(newvarname, " = sector")))