我经常使用相同的变量来训练载体:
v1 = 1
v2 = 2
rbind(c(v1, v2), c(v1, v2))
[,1] [,2]
[1,] 1 2
[2,] 1 2
我知道我可以明确地命名向量列,但是当你有很多变量时,这是相当繁琐和多余的:
rbind(c(v1 = v1, v2 = v2), c(v1= v1, v2 = v2))
v1 v1
[1,] 1 2
[2,] 1 2
如何指示rbind()使用变量名来命名每一列?
答案 0 :(得分:5)
您只需要将传递给rbind
的第一个向量中的元素命名为:
v1 <- 1
v2 <- 2
rbind(c(v1=v1, v2=v2), c(v1, v2), c(4, 5))
# v1 v2
# [1,] 1 2
# [2,] 1 2
# [3,] 4 5
我假设您提供的示例已经简化,并且您不打算多次重复同一行;如果是这样,除了多次输入行之外,还有更简单的方法(例如,使用replicate
或rep
)。
答案 1 :(得分:2)
您可以结合使用rbind
和mget
:
v1 <- 1
v2 <- 2
rbind(mget(c("v1", "v2")), mget(c("v1", "v2")))
mget
将在环境中搜索具有给定名称的变量。最重要的是,结果是一个名为list
的对象。
但是,我认为更清晰的解决方案就是按照上面的建议制作data.frame
:
rbind(data.frame(v1, v2), data.frame(v1, v2))