在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中这样做?
亨克
答案 0 :(得分:2)
在包na.locf
中使用zoo
。 locf
表示last observation carried forward
,这正是您正在做的事情:
library(zoo)
x <- c('A',NA,NA,'B')
na.locf(x)
[1] "A" "A" "A" "B"
但请确保您了解NA
和""
(空字符串)之间的区别。在Excel中,使用空字符串来阻止显示公式可能很有用,但在R中,使用NA
指示缺失值会更好。