문제

In R 2.14.2 I have a matrix:

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

and I want to fill in the empty values so it becomes like this:

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

In other words, how do I pad the empty values?

[In Excel I would use this formula in column B: B2=if(isblank(A2),B1,A2), and copy it down].

How can I do this in R?

Henk

도움이 되었습니까?

해결책

Use na.locf in package zoo. The locf means last observation carried forward, which is exactly what you are doing:

library(zoo)

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

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

But make sure you understand the difference between NA and "" (an empty string). In Excel it may be useful to use empty strings to prevent display of formulae, but in R it's much better to use NA to indicate missing values.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top