替换r中每个相关列的NA值

我正试图清理这样一个数据集。

       date                pm2.5 pm2.5_flag  NEPH NEPH_flag NEPH_RH NEPH_RH_flag
   <dttm>              <dbl> <chr>      <dbl> <chr>       <dbl> <chr>       
 1 2020-02-04 00:00:00  26.8 G           1.02 G            35.8 G           
 2 2020-02-04 00:01:00  27.1 G           0.98 G            35.7 G           
 3 2020-02-04 00:02:00  27.2 G           0.95 G            35.8 G           
 4 2020-02-04 00:03:00  27.0 G           0.94 G            35.7 G           
 5 2020-02-04 00:04:00  26.8 G           0.93 G            35.6 G           
 6 2020-02-04 00:05:00  26.7 G           0.94 G            35.6 G           
 7 2020-02-04 00:06:00  26.9 G           0.92 G            35.7 G           
 8 2020-02-04 00:07:00  27.0 G           0.83 G            35.4 G           
 9 2020-02-04 00:08:00  27.4 G           0.81 G            35.4 G           
10 2020-02-04 00:09:00  27.8 G           0.72 G            35.0 G 

它的数据值在一列中,旁边有一列与该值相关的标志。我想从该列中删除所有其他不同于 “G “的标志,并将相关列的值替换为NA。

例如,如果我的行是

date                pm2.5 pm2.5_flag  NEPH NEPH_flag NEPH_RH NEPH_RH_flag
   <dttm>              <dbl> <chr>      <dbl> <chr>       <dbl> <chr>       
 1 2020-02-04 00:00:00  26.8 G           1.02 G            35.8 G           
 2 2020-02-04 00:01:00  27.1 C           0.98 BIA          35.7 G 
10 2020-02-04 00:09:00  27.8 C           0.72 G            35.0 G

我想得到

  date                pm2.5 pm2.5_flag  NEPH NEPH_flag NEPH_RH NEPH_RH_flag
   <dttm>              <dbl> <chr>      <dbl> <chr>       <dbl> <chr>       
 1 2020-02-04 00:00:00  26.8 G           1.02 G            35.8 G           
 2 2020-02-04 00:01:00  NA   NA          NA   NA           35.7 G 
10 2020-02-04 00:09:00  NA   NA          0.72 G            35.0 G

解决方案:

你可以用 'flag' 和它的相关对应值。在这里,各列是相邻的,所以我们可以得到索引的 'flag' 列并使用 -1 来获得相应的列。

flag_cols <- grep('flag', names(df))
inds <- df[flag_cols] != "G"
df[flag_cols][inds] <- NA
df[flag_cols - 1][inds] <- NA
df

#                 date pm2.5 pm2.5_flag NEPH NEPH_flag NEPH_RH NEPH_RH_flag
#1  2020-02-0400:00:00  26.8          G 1.02         G    35.8            G
#2  2020-02-0400:01:00    NA       <NA>   NA      <NA>    35.7            G
#10 2020-02-0400:09:00    NA       <NA> 0.72         G    35.0            G

给TA打赏
共{{data.count}}人
人已打赏
未分类

字段 authenticationManager LoginController 需要一个类型为AuthenticationManager'的bean,但无法找到。

2022-9-8 12:39:36

未分类

创建一个类似于视频游戏的对话框,逐字显示格式化的文本。

2022-9-8 12:39:38

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索