全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
837 2
2021-10-21
悬赏 10 个论坛币 已解决
有如下表格
Screen Shot 2021-10-20 at 7.29.52 PM.png

那么此表格中 加上一列参数 参数名为NS_inv,

如果intervention_code 的前两个字符等于 “1A”,那么此参数赋值为TRUE,如果不等于1A,那么赋值为FALSE
我的CODE如下,可是发现所有NS_inv的所有值都是TRUE,请教一下问题出现在哪里

if("1A" %in% substr(SDH_inv$intervention_code,1,2)) {
  SDH_inv$NS_inv=TRUE} else {
    SDH_inv$NS_inv=FALSE

}

最佳答案

s609078902 查看完整内容

你这代码的意思是 substr(xx, 1, 2) 构成的向量里是否有 "1A" 这个元素,如果有就把 NS_inv 列赋值全为 TRUE。也就是说你的代码是对整个数据集进行的操作,而你需要的是对每行分别进行判断和赋值,所以代码可以改成:
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2021-10-21 07:33:11
你这代码的意思是 substr(xx, 1, 2) 构成的向量里是否有 "1A" 这个元素,如果有就把 NS_inv 列赋值全为 TRUE。也就是说你的代码是对整个数据集进行的操作,而你需要的是对每行分别进行判断和赋值,所以代码可以改成:
复制代码

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2021-10-21 07:33:56
请自动忽略第二个表格
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群