0

我想使用 !is.na 命令删除部分包含 NA 的行:

table=data.frame(col1=c(1:2,NA,4,NA,4),col2=c(7:9,NA,NA,NA),col3=c(2:4,NA,NA,4),col4=c(1:6))

col1 col2 col3 col 4
1    7    2    1     
2    8    3    2 
NA   9    4    3
4    NA   NA   4
NA   NA   NA   5
4    NA   4    6

这一切都应该发生在 lme 环境中,例如:

lme(col1~ log(col2)+col3, random= ~ 1 |col4, data=table[(!is.na(table[c("col1","col2","col3","col4")])),], method="ML")

它不适用于此代码 - 还有其他建议吗?

4

2 回答 2

2

阅读?lme并特别注意na.action参数,您可以将其设置为na.omitna.exclude。但是,如果您想比较模型,最好在外部进行lme,例如lme.dat <- na.omit(table)。这样所有模型都将使用相同的数据。

于 2013-04-23T11:27:18.093 回答
0

您可以complete.cases在要检查的列子集上使用该命令。例如:

df[complete.cases(df[,5:8]),]

这将丢弃选择中至少为 one 的每一行NA

于 2017-05-11T08:26:54.407 回答