我有一个数据集,我想在缺失值的数量大于或等于n的列中用空字符串替换NAs.例如,n = 500.

set.seed(2022)

synthetic <- tibble(
  col1 = runif(1000),
  col2 = runif(1000),
  col3 = runif(1000)
)

na_insert <- c(sample(nrow(synthetic), 500, replace = FALSE))

synthetic[na_insert, 1] <- NA

我试图做的事情最终失败了:

synthetic %>% 
  mutate(across(everything(), ~ replace_na(sum(is.na(.x)) >= 500, "")))

在这个原始的练习中,我做错了什么?

推荐答案

你可以使用wherepurrr一样的功能:

library(dplyr)

synthetic %>% 
    mutate(across(where(~sum(is.na(.x)) >= 500), ~coalesce(as.character(.x), "")))

这又回来了

# A tibble: 1,000 x 3
   col1                  col2   col3
   <chr>                <dbl>  <dbl>
 1 ""                   0.479 0.139 
 2 "0.647259329678491"  0.410 0.770 
 3 ""                   0.696 0.805 
 4 ""                   0.863 0.803 
 5 "0.184729989385232"  0.146 0.652 
 6 "0.635790845612064"  0.634 0.0830
 7 ""                   0.305 0.527 
 8 "0.0419759317301214" 0.297 0.275 
 9 ""                   0.883 0.698 
10 "0.757252902723849"  0.115 0.933 
# ... with 990 more rows

R相关问答推荐

按崩溃类别分类的指数

通过绘图 Select 线串几何体并为其着色

找出疾病消失的受试者

矩阵%*%矩阵中的错误:需要数字/复杂矩阵/向量参数

在R中将特定列的值向右移动

使用Facet_WRAP时更改框图中线的 colored颜色

您是否可以折叠R中的重复行,同时保留基于所选列的值?

仅在Facet_WRAP()中的相应方面包含geom_abline()

合并后返回列表的数据帧列表

如何通过匹配R中所有可能的组合来从宽到长旋转多个列?

跨列查找多个时间报告

如何根据R中其他变量的类别汇总值?

正在导出默认的RStudio主题,还是设置括号 colored颜色 ?

如何从向量构造一系列双边公式

删除在R中的write.table()函数期间创建的附加行

是否有可能从边界中找到一个点值?

SHILINY中DT列的条件着色

R:使用ApexCharge更改标签在饼图中的位置

在GT()中的列之间添加空格

分隔日期格式为2020年7月1日