r - 为什么“分离”和“联合”功能在 dplyr 中不起作用
问题描述
我使用了该功能separate
并unite
清理了一些数据,但它们似乎不起作用
我一直在尝试使用将列字符串分成两列dplyr
。该功能非常简单,我不知道为什么它不起作用。我要分隔的变量(列)是season
包含“MAD_S1,KGA_S1”等值(数千条记录,但有6个类别,均由“_S1”分隔;原始数据已检查,均遵循相同句法)。因此,我申请了
separate(six_sites_spp, season, c("code_loc","season1"), sep = "_")
我尝试了更明确的脚本,例如:
separate(six_sites_spp,
col = "season",
into = c("code_loc", "season1"),
sep = "_")
但也没有。
我已经更新了dplyr
版本,并尝试了几件事。如果我改用unite
合并两列,它也不起作用。我通过使用经典paste
功能解决了这个问题,但不适用于拆分;但是,我确实想知道为什么dplyr
不起作用(这是一个很棒的软件包,由于某种原因,其他命令也不起作用)。
请问有人能对此提供反馈吗?我的系统(Windows10、HP envi)中是否存在可能的“错误”或某些东西?我是否同时需要另一个包(我也在tidyr
同一个脚本中使用)?任何版本不匹配(我的 R 版本 3.5.1(2018-07-02)?当我运行代码时,它在内部执行某些操作,正如我所见,它运行命令,但输出是相同的数据帧(即没有新变量code_loc
,season1
.
提前谢谢了。
*没有错误信息
解决方案
Since you mention no error message, I assume the function works properly but you simply fail to save the output.
Usually dplyr
flows like this:
library(dplyr)
six_sites_spp %>%
separate(season, c("code_loc", "season1"), sep = "_")) %>%
{.} -> six_sites_spp # This saves the changed data frame under the old name
Alternatively, this works as well:
six_sites_spp <- separate(six_sites_spp,season, c("code_loc", "season1"), sep = "_"))
Naturally you could also save the changed data frame under a new name to preserve the original data.
推荐阅读
- r - R ggplot - 广义函数中的箱线图
- python - pyvin:解析 VIN 号
- python-3.x - 运行 Speech_recognition 模块时出错
- ionic-framework - 如何在 ion-avatar 周围创建高亮显示它已被点击?
- ruby - 匹配返回另一个输出
- c++ - 用 QML 绘制箭头
- javascript - 如何知道在反应中选择了哪个元素,我想在这些元素上添加一些样式
- php - 警告:mysqli_connect(): (HY000/1045): Access denied for user 'record'@'localhost' (使用密码: YES)
- jquery - 从 json 对象中分离一些值(react,jquery)
- swift - 在范围内找不到类型“MessagingRemoteMessage”