我使用功能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)?)当我运行代码时,它在内部执行某些操作,因为我看到它运行命令,但是输出是相同的数据帧(即没有新变量{ {1}},code_loc
。
非常感谢。
*没有错误消息
答案 0 :(得分:0)
由于您未提及任何错误消息,因此我认为该功能正常运行,但是您根本无法保存输出。
通常dplyr
像这样流动:
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
或者,它也可以工作:
six_sites_spp <- separate(six_sites_spp,season, c("code_loc", "season1"), sep = "_"))
自然地,您还可以使用新名称保存更改后的数据框以保留原始数据。