
数据结构
|
167
但要小心! na.omit 函数删除整行。这些行中的非 NA 值也会消失,从而改变“累加总
和”的含义。
此方法也适用于从向量和矩阵中删除 NA,但不适用于列表。
这里,一个显而易见的威胁是,简单地从数据中删除观察记录可能会使结果在数值上或
统计上毫无意义。在分析中要确保删除缺失数据是有意义的。记住,na.omit 将删除
整个行,而不仅仅是 NA 值,它可能会消除有用的信息。
5.25 根据名称排除列
5.25.1 问题
你需要使用列名从数据框中排除列。
5.25.2 解决方案
使用 dplyr 包中的 select 函数,并在列名前面加一个短划线(减号)以排除:
select(df, -bad) # Select all columns from df except bad
5.25.3 讨论
在变量名前面放置一个减号告诉 select 函数删除该变量。
当我们从数据框计算相关系数矩阵时,这可以派上用场,我们想要排除非数据列,例如标签:
cor(patient_data)
#> patient_id pre dosage post
#> patient_id 1.0000 0.159 -0.0486 0.391
#> pre 0.1590 1.000 0.8104 -0.289
#> dosage -0.0486 0.810 1.0000 -0.526
#> post 0.3912 -0.289 -0.5262 1.000
该相关系数矩阵包括 patient_id 和其他变量之间的无意义的“