r - R根据单元格是否为空将多列合并为一列
问题描述
我做了四个条件的实验,我想把四列合并为一个;取决于列中的单元格是否为空。例如,df 看起来像这样:
df <- data.frame(
ResponseID = c (1:6),
ZER_Condition = c ("Low","Med","","","",""),
LOW_Condition = c ("","","High","Low","",""),
MED_Condition = c ("","","","","High",""),
HIG_Condition = c ("","","","","","Low")
)
我想合并列,以便获得以下列:
Merged_Condition = c ("Low","Med","High","Low","High","Low")
我尝试了以下功能,但它不起作用:
df %>% mutate (Merged_Condition = coalesce(ZER_Condition,LOW_Condition,MED_Condition,HIG_Condition)) %>%
select(ResponseID, Merged_Condition)
解决方案
尝试用 NA 替换列中的“”,您的代码应该可以工作。
df <- data.frame(
ResponseID = c (1:6),
ZER_Condition = c ("Low","Med",NA,NA,NA,NA),
LOW_Condition = c (NA,NA,"High","Low",NA,NA),
MED_Condition = c (NA,NA,NA,NA,"High",NA),
HIG_Condition = c (NA,NA,NA,NA,NA,"Low")
)
df %>% mutate (Merged_Condition = coalesce(ZER_Condition,LOW_Condition,MED_Condition,HIG_Condition)) %>%
select(ResponseID, Merged_Condition)
推荐阅读
- python - Django ModelForm 多个复选框不起作用
- square-connect - 按订单行项目 ID 退款
- django - django urls.py:两个具有相似路径的模块
- haskell - Haskell elem 函数的 Big O 运行时
- python - 每次列表长度增加一定数量时做一些事情
- javascript - 如何使用 python 和 selenium 从脚本标签中获取变量?
- python - 真正有数据时,Shopify api 不返回任何内容
- ios - 使用 Titanium Appcelerator 在 iOS 上读取 NFC 标签
- pdf - Autodesk Forge 查看器:从 HTTP 打开 PDF
- javascript - 我的 Discord 音乐机器人会提前 20 秒停止歌曲