填充列值?

时间:2012-07-19 10:24:02

标签: r assign indices pad

在R 2.14.2中我有一个矩阵:

mat1=matrix(c('A','','','B'))

我想填空值,所以它变成这样:

mat2=matrix(c('A','','','B','A','A','A','B'),2,4,byrow=T)

换句话说,如何填充空值?

[在Excel中我会在B栏中使用这个公式:B2 = if(isblank(A2),B1,A2),并将其复制下来。

我怎样才能在R中这样做?

亨克

1 个答案:

答案 0 :(得分:2)

在包na.locf中使用zoolocf表示last observation carried forward,这正是您正在做的事情:

library(zoo)

x <- c('A',NA,NA,'B')
na.locf(x)

[1] "A" "A" "A" "B"

但请确保您了解NA""(空字符串)之间的区别。在Excel中,使用空字符串来阻止显示公式可能很有用,但在R中,使用NA指示缺失值会更好。