【发布时间】:2012-12-29 20:21:33
【问题描述】:
我一直试图解决这个问题,但我似乎无法找到解决此编码问题的方法。我喜欢创建一个列向量,它会重复相同的值,直到下一个非 NA 列出现在另一列中。所以这里有一个表格来说明我想要实现的目标(第 2 栏)。
[,1] [,2]
[1,] A a1
[2,] NA a1
[3,] NA a1
[4,] B a2
[5,] NA a2
[6,] A a3
很抱歉造成混乱。之前写这篇文章的时候,我一定是真的很紧张。我已对第 2 列进行了更正(请参见上文)。阅读您的帖子后,这是我想出的代码,虽然它不高效也不优雅:
d <- paste("a", 1:sum(!is.na(column1)), sep="") # get a1, a2, a3
column2 <- rep(NA, length(column1) #create empty vector w/ column1 length
column2[!is.na(colum1)] <- d #when col1 has a value, populate col2 with a1
e <- na.locf.default(column2) #fill NAs in col2 with previous value
【问题讨论】:
-
你有一个恒定的第二列...
-
或者你想要
a1,a1,a1,a2,a2,a3在第二列吗?? -
或者甚至
a1, a1, a1, a4, a4, a6。 -
我认为您的问题实际上与此处指定的问题并不重复,但很难说。如果你能澄清它的不同(以及你的意思/你想要的输出是什么),我会投票重新开放。
标签: r