楼主: yu9954
2018 11

[有偿编程] 怎么把data frame里面所有的空格替换成NA? [推广有奖]

  • 0关注
  • 1粉丝

大专生

75%

还不是VIP/贵宾

-

威望
0
论坛币
820 个
通用积分
2.0765
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
660 点
帖子
35
精华
0
在线时间
50 小时
注册时间
2018-11-22
最后登录
2023-10-23

楼主
yu9954 发表于 2021-10-18 04:12:55 |AI写论文
20论坛币
有如下data frame
> str(SDH_meds)'data.frame':
'data.frame':        42955 obs. of  28 variables: $ genc_id                    : int  11102331 11102331 11102331 11102331 11102331 11102331 11102331 11102331 11102331 11102331 ... $ med_id_generic_name_raw    : chr  "PEG 3350" "ACETAMINOPHEN EXTRA STRENGTH" "DOCUSATE SODIUM" "MELATONIN FAST DISSOLVE" ... $ med_id_brand_name_raw      : chr  "" "" "" "" ... $ med_id_din                 : chr  "" "" "" "" ... $ med_id_ndc                 : chr  "00574-0412-02D" "10135-0152-13" "10135-0111-01" "96295-0119-11B" ... $ med_id_ahfs                : chr  "" "" "" "" ... $ med_id_ahfs_description_raw: chr  "" "" "" "" ... $ med_id_hospital_code_raw   : chr  "" "" "" "" ... $ med_order_start_date       : Date, format: "2020-03-11" "2020-03-12" "2020-03-11" "2020-03-15" ... $ med_order_start_time       :Classes 'hms', 'difftime'  atomic [1:42955] 36000 64800 79200 540 79200 ...  .. ..- attr(*, "units")= chr "secs" $ med_order_start_date_time  : POSIXct, format: "2020-03-11 10:00:00" "2020-03-12 18:00:00" "2020-03-11 22:00:00" "2020-03-15 00:09:00" ... $ med_order_stop_date        : Date, format: "2020-03-18" "2020-03-18" "2020-03-18" "2020-03-18" ... $ med_order_stop_time        :Classes 'hms', 'difftime'  atomic [1:42955] 14460 14460 14460 14460 14460 ...  .. ..- attr(*, "units")= chr "secs" $ med_order_stop_date_time   : POSIXct, format: "2020-03-18 04:01:00" "2020-03-18 04:01:00" "2020-03-18 04:01:00" "2020-03-18 04:01:00" ... $ dose_amount                : chr  "17 G = 1 PKG" "1000 MG = 2 TAB" "200 MG = 2 CAP" "3 MG = 1 TAB" ... $ dose_unit                  : chr  "" "" "" "" ... $ route                      : chr  "POWDER" "TAB" "CAP" "TAB" ... $ frequency                  : chr  "DAILY 1000H" "Q6H" "NIGHTLY" "NIGHTLY" ... $ order_description          : chr  "" "" "" "" ... $ order_number               : chr  NA NA NA NA ... $ finalvolume                : chr  "" "" "" "" ... $ rate                       : chr  "" "" "" "" ... $ iv_component_type          : chr  "MED/MED" "MED/MED" "MED/MED" "MED/MED" ... $ iv_fluid_descriptor        : chr  "" "" "" "" ... $ sa_abx_mapped              : chr  NA NA NA NA ... $ sa_puffers_mapped          : chr  NA NA NA NA ... $ sa_other_drugs_mapped      : chr  NA NA NA NA ... $ row_id                     : int  4247 4240 4244 4245 4249 4246 4242 4241 4243 4248 ...
想把这个里面的所有空格"",替换成NA用了如下语句SDH_meds[SDH_meds== ""] <-NA
报错: Error in charToDate(x) :   character string is not in a standard unambiguous format
然后又试图一列一列转换
SDH_meds$med_id_din <-sub("", NA, SDH_meds$med_id_din)
这个语句把这一列的值全部替换成NA了, 想请教一下各位大神,错在哪里? 应该怎么解决? 多谢多谢


最佳答案

s609078902 查看完整内容

你再试试这个,这个错误估计是因为你的数据里面有日期和时间,然后你的要替换的也不是空格(" "),而是一个空字符串("")
关键词:Frame Fram Data FRA RAM

沙发
s609078902 发表于 2021-10-18 04:12:56
  1. dplyr::na_if(df, "")
复制代码


你再试试这个,这个错误估计是因为你的数据里面有日期和时间,然后你的要替换的也不是空格(" "),而是一个空字符串("")

藤椅
s609078902 发表于 2021-10-18 16:31:39
  1. dplyr::na_if(df, " ")
复制代码
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

板凳
yu9954 发表于 2021-10-18 23:44:35
s609078902 发表于 2021-10-18 16:31
还是不行啊,还是报错

Error in charToDate(x) :
  character string is not in a standard unambiguous format
In addition: Warning message:
In normalizePath(dirname(f)) : path[1]="NA": No such file or directory

报纸
yu9954 发表于 2021-10-19 01:11:22
s609078902 发表于 2021-10-18 16:31
Error in charToDate(x) :
  character string is not in a standard unambiguous format
In addition: Warning message:
In normalizePath(dirname(f)) : path[1]="NA": No such file or directory

地板
s609078902 发表于 2021-10-19 11:19:38
yu9954 发表于 2021-10-18 23:44
还是不行啊,还是报错

Error in charToDate(x) :
你给我一份数据,我看看说明问题

7
yu9954 发表于 2021-10-19 11:52:08
s609078902 发表于 2021-10-19 11:19
你给我一份数据,我看看说明问题
感谢您的帮忙,我这个数据是平台加密的,所以我不能把表格copy过来。。。我试试一部分可不可以。

8
yu9954 发表于 2021-10-19 11:54:42
只有这一部分不知道可不可以?

Screen Shot 2021-10-18 at 11.53.46 PM.png (224.51 KB)

Screen Shot 2021-10-18 at 11.53.46 PM.png

9
s609078902 发表于 2021-10-19 15:10:32
yu9954 发表于 2021-10-19 11:54
只有这一部分不知道可不可以?
可以,你发我一份

10
s609078902 发表于 2021-10-19 17:30:05
yu9954 发表于 2021-10-18 23:44
还是不行啊,还是报错

Error in charToDate(x) :
你这个报错是说的是 charToDate() 函数出错了,应该跟 na_if() 无关吧

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-5 03:03