我有一个数据框架,其列如下:
[1] i5olv
[2]
[3] udp3o
[4]
[5]
[6]
[7] uem5i
[8] b0047
[9]
[10]注意,元素没有特定的顺序,在非空元素之间可能有可变的空行数。我希望专栏看起来像这样:
[1] i5olv
[2] i5olv
[3] udp3o
[4] udp3o
[5] udp3o
[6] udp3o
[7] uem5i
[8] b0047
[9] b0047
[10] b0047我怎么才能用矢量化的方式做这件事呢?我可以使用for循环来实现这一点,该循环缓存最后一个非空值,但这很慢。
发布于 2015-05-05 15:22:42
使用data.table的选项
library(data.table)
setDT(df1)[, Col1:=Col1[1L] ,cumsum(Col1!='')]
# Col1
#1: i5olv
#2: i5olv
#3: udp3o
#4: udp3o
#5: udp3o
#6: udp3o
#7: uem5i
#8: b0047
#9: b0047
#10: b0047数据
df1 <- structure(list(Col1 = c("i5olv", "", "udp3o", "", "", "",
"uem5i",
"b0047", "", "")), .Names = "Col1", row.names = c(NA, -10L),
class = "data.frame")https://stackoverflow.com/questions/30056885
复制相似问题