简单的事情我正在使用stringr
来操纵角色向量。我有一个以下类型的数据框
library(stringr)
d1 <- data.frame(x = str_c(rpois(10, lambda=5),
rpois(10, lambda=10),
sep = "_"))
我希望下划线之后的所有内容都是一个单独的变量。使用str_sub
会导致长度为20的向量,我无法解释原因。
d1$y <- str_sub(d1$x, str_locate(d1$x, fixed("_"))+1)
$<-.data.frame
中的错误(*tmp*
,“y”,值= c(“_ 12”,“_ 7”,“_ 15”,: 替换有20行,数据有10行
有人可以指导我如何以正确的方式撰写str_sub
来电吗?
答案 0 :(得分:4)
这就是你想要做的事情(检查str_locate
的输出,看看它为什么不适合你,同时注意str_sub
回收参数):
d1$y = str_sub(d1$x, str_locate(d1$x, fixed("_"))[,1] + 1, -1)
或在基地R:
d1$y = sub("^[^_]*_", "", d1$x)