Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 为什么na.omit()不删除列_R - Fatal编程技术网

R 为什么na.omit()不删除列

R 为什么na.omit()不删除列,r,R,na.omit()删除矩阵或数据帧中的行,但我想知道为什么它没有删除列而不是行的选项 我知道有如下解决方案: df[sapply(df,函数(x)!any(is.na(x))]() 但是为什么r实现的函数不支持它呢?我认为这是一种必然的做法,可以实现如下论点: 省略(df,by.rows=FALSE) 此处是一些简单的样本测试数据(如果需要),预期输出将在第3列和第6列中删除: df<-mtcars df[5:15,6] <- NA df[5:15,3] <- NA dfna

na.omit()
删除矩阵或数据帧中的行,但我想知道为什么它没有删除列而不是行的选项

我知道有如下解决方案:

df[sapply(df,函数(x)!any(is.na(x))]
()

但是为什么r实现的函数不支持它呢?我认为这是一种必然的做法,可以实现如下论点:

省略(df,by.rows=FALSE)

此处是一些简单的样本测试数据(如果需要),预期输出将在第3列和第6列中删除:

df<-mtcars
df[5:15,6] <- NA
df[5:15,3] <- NA

dfna.ommit
函数主要用于处理回归函数的data.frame对象。为了运行回归计算的数学机制,需要省略案例(即行)。您可以从lm的na.action参数中看到各种选择,但这适用于许多其他类型的回归。它的基本设计是允许
lm
成功,否则它将产生无用的结果。公式规范是省略列的装置

na.行动
一种函数,用于指示数据包含NAs时应执行的操作。默认值由选项的na.action设置设置,如果未设置,则为na.fail。“factory fresh”默认值为na.omit。另一个可能的值为NULL,无操作。值na.exclude可能很有用


na.action的选择可能会影响
predict
的输出。请注意predict.lm的默认值不同:
na.action=na.pass

“为什么”问题通常是基于观点的,如果可以回答的话,就不适合堆栈溢出。哦,好吧,抱歉,我希望有一个逻辑原因或类似的原因。那么我应该删除这个问题吗?我对StackOverflow很陌生,你可以等着看其他人是否不同意我的观点。您也可以尝试在R公共聊天室中提问(访问右上角的聊天室)。na.omit exists删除不完整的观察结果,删除列在概念上是完全不同的。它只是“几何”相关。使用
purr
可以尝试
modify\u if(df,anyNA,~NULL)
df[]