gpt4 book ai didi

r - 整理 R 数据框中的数字数组

转载 作者:行者123 更新时间:2023-12-04 16:22:55 30 4
gpt4 key购买 nike

如何整理以下数据框

data.frame(a  = c(1,2), values = c("[1.1, 1.2, 1.3]", "[2.1, 2.2]"))

a values
1 [1.1, 1.2, 1.3]
2 [2.1, 2.2]
结果应该是
data.frame(a  = c(1,1,1,2,2), values = c(1.1, 1.2, 1.3, 2.1, 2.2))
a values
1 1.1
1 1.2
1 1.3
2 2.1
2 2.2

最佳答案

我们可以用 str_extract_all 提取数字在 listunnest

library(dplyr)
library(stringr)
library(tidyr)
df1 %>%
mutate(values = str_extract_all(values, "[0-9.]+")) %>%
unnest(values) %>%
type.convert(as.is = TRUE)
-输出
# A tibble: 5 × 2
a values
<int> <dbl>
1 1 1.1
2 1 1.2
3 1 1.3
4 2 2.1
5 2 2.2

或者另一种选择是评估 python对象 reticulate:py_eval然后 unnest list柱子
library(reticulate)
df1 %>%
rowwise %>%
mutate(values = list(py_eval(values))) %>%
unnest(values)
-输出
# A tibble: 5 × 2
a values
<dbl> <dbl>
1 1 1.1
2 1 1.2
3 1 1.3
4 2 2.1
5 2 2.2
数据
df1 <- data.frame(a  = c(1,2), values = c("[1.1, 1.2, 1.3]", "[2.1, 2.2]"))

关于r - 整理 R 数据框中的数字数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70024556/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com