我有包含二进制数据(0,1)
表示对特定分量表项不正确,并正确反应几个R数据帧。与会者没有被问及所有问题,并有NA
表示这一缺失数据。年龄较大的参与者从后面的项目开始,并且对于未提问的早期项目有NA
。此外,大多数参与者没有完成在行的结束导致很多NA
S中的评估。例如行如下:更换NA与取决于位置在第1行或0中的R
Row 1 = NA, NA, NA, 1, 1, 0 , 1, 0, 0, 0, NA, NA Row 2 = 1, 1, 0, 0, 0, NA, NA, NA, NA, NA, NA, NA, NA
我想在行的开头1
和NA
s的行与0
末更换所有NA
S(如果存在的话)。
所以上面会 Row 1 = 1,1, 1, 1, 1, 0 , 1, 0, 0, 0, 0,0 Row 2 = 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,0, 0, 0
我曾尝试使用下面的函数尝试:
datComp <- function (x){
xmin <- min(which(!is.na(x)))
xmax <- max(which(!is.na(x)))
if (xmin >1){
x[1:xmin-1] <- 1}
x[(xmax+1):length(x)] <- 0
return(x)
}
,但得到这个错误,对一些数据帧:
Error in data.frame(`1` = c(1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, :
arguments imply differing number of rows: 36, 37
有一个现有的功能,做我想要的?如果没有,任何人都可以用简单的代码来帮助我吗?
如果您为示例行提供了预期的结果,这将会很有帮助。如果您提供了多个示例行来说明您正在处理的不同种类的行,这也会很有帮助。 – nograpes
请参阅:【如何使一个伟大的可重复的例子(http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) –