我想向元素V添加一個元素(如100),並將變量x的值用作新元素的名稱。我知道它可以這樣做:如何將名稱元素添加到變量名稱爲R的向量
V = c(V, 100)
names(V)[length(V)] = x
但我正在尋找一個簡單的單線解決方案,如果有的話。我想:
V = c(V, as.name(x)=100)
和
V = c(V, eval(x)=100)
但那些不工作。
我想向元素V添加一個元素(如100),並將變量x的值用作新元素的名稱。我知道它可以這樣做:如何將名稱元素添加到變量名稱爲R的向量
V = c(V, 100)
names(V)[length(V)] = x
但我正在尋找一個簡單的單線解決方案,如果有的話。我想:
V = c(V, as.name(x)=100)
和
V = c(V, eval(x)=100)
但那些不工作。
我們可以通過使用setnames
setNames(c(V, 100), c(names(V), x))
添加一個例子做到這一點,
V <- c(a = 1, b=2)
V
#a b
#1 2
x <- "c"
setNames(c(V, 100), c(names(V), x))
# a b c
# 1 2 100
或者作爲@thelatemail建議我們只能附加元件上工作
c(V, setNames(100,x))
可能更簡單 - 'c(V, setNames(100,X))' – thelatemail
Ronak沙阿的回答很好,但後來我發現了一個更簡單的方法:
V [X] < - 100
我要發佈一個新的相關和非常類似的問題 - 如何定義的R向量,其中一些名字是變量。
可能的重複https://stackoverflow.com/questions/11784660/assign-names-to-vector-entries-without-assigning-the-vector-a-variable-name – akrun