我正在嘗試為連接的變數名稱分配一個值。這是一個如何完成的示例:
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,...),其值為扇區(= 數字)。
但我收到以下錯誤:
找不到函式“粘貼<-”
你知道解決這個問題的任何解決方案嗎?提前致謝!
uj5u.com熱心網友回復:
我想你正在尋找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
旁注 - 在全域環境中創建如此多的變數嘗試使用串列被認為不是一個好習慣。
uj5u.com熱心網友回復:
在回圈中間試試這個。
newvarname = paste(toString(sector), letter, "_variable", sep = "")
eval(parse(text = paste0(newvarname, " = sector")))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/333086.html
上一篇:識別矩陣中相同行的組
