全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1734 4
2020-06-29
1593424470(1).jpg
如图,如何新增一列,放同行不同列非空的值(这3列是互补的),求大佬能给答疑解惑!
二维码

扫码加我 拉你入群

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

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

全部回复
2020-6-29 19:26:53
可以把所有NA改成0,然后三列加起来就好了

比如设你原来的data frame 是x
复制代码
二维码

扫码加我 拉你入群

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

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

2020-6-30 09:12:21
搞个复杂版的
data%>%
  dplyr::mutate(var4=ifelse(is.na(var1)&is.na(var2),var3,0),
                var4=ifelse(is.na(var1)&is.na(var3),var2,0),
                var4=ifelse(is.na(var2)&is.na(var3),var1,0)) ->data
#or  
data %>% mutate(id=1:length(var1))->data
data %>% filter(!is.na(var1)) %>% mutate(var4=var1) %>% select(id,var4)->var41
data %>% filter(!is.na(var2)) %>% mutate(var4=var2) %>% select(id,var4)->var42
data %>% filter(!is.na(var3)) %>% mutate(var4=var3) %>% select(id,var4)->var43
var41 %>% left_join(var42) %>% left_join(var43)->data_F
二维码

扫码加我 拉你入群

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

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

2020-6-30 09:13:20
megapanda 发表于 2020-6-29 19:26
可以把所有NA改成0,然后三列加起来就好了

比如设你原来的data frame 是x
我的天,优秀,聪明!
二维码

扫码加我 拉你入群

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

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

2020-6-30 09:13:52
nieqiang110 发表于 2020-6-30 09:12
搞个复杂版的
data%>%
  dplyr::mutate(var4=ifelse(is.na(var1)&is.na(var2),var3,0),
大佬大佬!感谢感谢!问题完美的解决了
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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