【发布时间】:2021-06-07 13:16:35
【问题描述】:
我有一列包含这样的数组值:
[[["0.10", "35"], ["0.2", "36"]], [["5.1", "2"], ["90.2", "2"]]]
我需要 4 个单独列中的最后两个(在本例中:[["5.1", "2"], ["90.2", "2"]])
但只有他们的价值观:
5.1 2 90.2 和 2(在不同的列中)
我知道我可以使用 tidyR 来实现这一点,如下所述:split character data into numbers and letters
df %>%
separate(mycol,
into = c("text", "num"),
sep = "(?<=[A-Za-z])(?=[0-9])"
)
但到目前为止,每一次尝试和每一次尝试都失败了。我无法仅访问最后 2(或 4)项。
如有任何想法,我将不胜感激。。谢谢
【问题讨论】:
-
试试
stringr::str_extract_all(x, "\\d+(?:\\.\\d+)?(?=(?:[^,]*,){0,3}[^,]*$)") -
您好维克托,谢谢!但是,这不会产生 4 个单独的列,只有 1 个包含所有 4 个值在“”中,如下所示:“0.10”、“35”、“0.2”和“36”。
标签: r regex multiple-columns gsub