这似乎是基本的,但我无法解决这个问题。我有一种情况,我正在写一个for循环,在某些阶段它给我这个错误,“替换有3行,数据有4”
在我的for循环中,我每4行写一次数据,在某些时候,替换数据只有3个值。我希望在这种情况下,第4个值应该用NA填充。所以基本上长度为4,如果少说2,那么2个值要用NA填充。我怎么能得到这个。
错误消息示例 -
a1 <- data.frame(matrix(NA,nrow = 4,ncol = 0))
v1 <- c(1:3)
a1[,"b1"] <- v1
所以有些代码将v1转换为长度4并将最后一个值设为NA,以便我能够编写它。
答案 0 :(得分:0)
一个简单的解决方案是添加(这也适用于length(v1)==4
):
v1 <- c(v1, rep(NA, nrow(a1) - length(v1)))
答案 1 :(得分:0)
你可以:
a1 <- data.frame(matrix(NA,nrow = 4,ncol = 0))
v1 <- c(1:3)
v2 <- rep(NA, nrow(a1))
v2[1:length(v1)] <- v1
a1[,"b1"] <- v2