我有两个包含缺失数据loon
和的变量profstat
。为了更好地了解缺失的数据和需要插补的数据,我想problem
在数据框中创建一个附加变量,1
如果loon
缺失并被profstat
观察,0
则返回每种情况,否则返回。我生成了以下代码,仅将其作为输出x[] = 1
。这个问题有解决办法吗?
{
problem <- dim(length(t))
for (i in 1:nrow(dflapopofficial))
{
if (is.na(dflapopofficial$loon[i])==TRUE & is.na(dflapopofficial$profstat[i])==FALSE) {
dflapopofficial$problem[i]=1
} else {
dflapopofficial$problem[i]=0
}
return(problem)
}
这里有些事情可以改进:
is.na(some_condition) == TRUE
与...相同is.na(some_condition)
且is.na(some_condition) == FALSE
相同!is.na(some_condition)
within
可以节省很多键入时间,尤其是在数据框的名称很长的情况下problem
,但是在循环中,您正在写入的dflapipofficial$problem
是另一个变量。+(logical_vector)
将所有这些放在一起,您可以用单行替换整个循环:
within(dflapopofficial, problem <- +(is.na(loon) & !is.na(profstat)))
请记住,将结果存储到数据框或它的副本中,例如
df <- within(dflapopofficial, problem <- +(is.na(loon) & !is.na(profstat)))
因此,这df
只是dflapopofficial
您多余的专栏的一副。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句