我有一个与tidyr包相关separate()
的问题。当数据框中没有 NA 时,separate() 起作用。我一直在使用这个功能。但是,今天我遇到了一个数据框中有 NA 的案例。返回错误消息。我可能很傻。但是,我想知道tidyr是否可能不是为这种数据清理而设计的。或者有什么办法可以与 NA 一起工作?非常感谢您抽出宝贵时间。separate()
separate()
这是基于评论的更新示例。假设我想分隔 y 中的字符并创建新列。如果我删除带有 NA 的行,separate()
将起作用。但是,我不想删除该行,我该怎么办?
x <- c("a-1","b-2","c-3")
y <- c("d-4","e-5", NA)
z <- c("f-6", "g-7", "h-8")
foo <- data.frame(x,y,z, stringsAsFactors = F)
ana <- foo %>%
separate(y, c("part1", "part2"))
# > foo
# x y z
# 1 a-1 d-4 f-6
# 2 b-2 e-5 g-7
# 3 c-3 <NA> h-8
# > ana <- foo %>%
# + separate(y, c("part1", "part2"))
# Error: Values not split into 2 pieces at 3