我有一个数据框。假设它看起来像这样:
我已经模拟了一些值,并将它们放入向量c(4,5,8,8)中。我想将这些模拟值添加到列a,b和c。
我尝试了rbind
或将向量插入到现有数据帧中,但是用模拟值代替了现有值,而不是将模拟值添加到现有值之下。
x <- data.frame("a" = c(2,3,1), "b" = c(5,1,2), "c" = c(6,4,7))
y <- c(4,5,8,8)
这是我希望看到的输出:
我们将不胜感激。谢谢。
答案 0 :(得分:1)
一个选项就是分配
n <- nrow(x)
x[n + seq_along(y), ] <- y
x
# a b c
#1 2 5 6
#2 3 1 4
#3 1 2 7
#4 4 4 4
#5 5 5 5
#6 8 8 8
#7 8 8 8
另一个选择是replicate
'y'和rbind
rbind(x, `colnames<-`(replicate(ncol(x), y), names(x)))
答案 1 :(得分:1)
可以:
as.data.frame(sapply(x,
function(z)
append(z,y)))
a b c
1 2 5 6
2 3 1 4
3 1 2 7
4 4 4 4
5 5 5 5
6 8 8 8
7 8 8 8
答案 2 :(得分:0)
x[(nrow(x)+1):(nrow(x)+length(y)),] <- y