gpt4 book ai didi

R将数组拆分为数据框

转载 作者:行者123 更新时间:2023-12-04 11:00:16 25 4
gpt4 key购买 nike

对 R 非常陌生并且苦于不知道该问什么,在这里找到了一个类似的问题
How to split a character vector into data frame?
但这有固定的长度,我一直无法针对我的问题进行调整

我在 R 的数组中有一些数据

TEST <- c("Value01:100|Value02:200|Value03:300|","Value04:1|Value05:2|",
"StillAValueButNamesAreNotConsistent:12345.6789|",
"AlsoNotAllLinesAreTheSameLength:1|")

数据成对存储,我希望将其拆分为一个数据帧:
Variable Value
Value01 100
Value02 200
Value03 300
Value04 1
Value05 2
StillAValueButNamesAreNotConsistent 12345.6789
AlsoNotAllLinesAreTheSameLength 1

变量名是一个字符串,值总是一个数字

任何帮助都会很棒!

谢谢

最佳答案

一个可以用tidyr基于的解决方案。转换矢量 TEST到 data.frame 并删除最后一个 |从每一行开始,因为它本身没有任何意义。

现在,使用 tidyr::separate_rows基于 | 扩展行然后使用 tidyr::separate 将数据分成 2 列功能。

library(dplyr)
library(tidyr)

data.frame(TEST) %>%
mutate(TEST = gsub("\\|$","",TEST)) %>%
separate_rows(TEST, sep = "[|]") %>%
separate(TEST, c("Variable", "Value"), ":")

# Variable Value
# 1 Value01 100
# 2 Value02 200
# 3 Value03 300
# 4 Value04 1
# 5 Value05 2
# 6 StillAValueButNamesAreNotConsistent 12345.6789
# 7 AlsoNotAllLinesAreTheSameLength 1

关于R将数组拆分为数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51573155/

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