可能重复:
Populate NAs in a vector using prior non-NA values?添加一列与价值观和NAS
我一直在试图找出这了一会儿,但我似乎无法找到一个解决这个编码问题。我想创建一个列向量,它会重复相同的值,直到下一个非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'在S第二列? –
或者甚至可能是'a1,a1,a1,a4,a4,a6'。 –