假设我有一个原始数据集如下。作为整理过程,我尝试选择没有NA值的列 - 或删除带有NA的列 - 参考this
原始数据
#> data_name col_a col_b
#> <chr> <int> <int>
#> 1 data_a 30 NA
#> 2 data_b 20 75
#> 3 sum 50 NA
删除缺失值列的代码
data_without_na <- raw_data %>% select_if(~ !any(is.na(.)))
data_without_na
输出
#> data_name col_a
#> <chr> <int>
#> 1 data_a 30
#> 2 data_b 20
#> 3 sum 50
输出结果符合我的预期,但我不明白为什么需要在条件语句的开头加上波浪号(~)。
目前我理解的如下:
- R中的波浪号:将等式左边与右边分开
- !:否定
- any(is.na(.)):对于每一列,如果存在NA值,则返回真或假值
没有左侧变量时,波浪号如何起作用?