R非常陌生,并且一直不知道要问什么,在这里找到了类似的问题。如何将字符向量拆分为数据帧?但这长度是固定的,我一直无法适应我的问题
我在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
基于解决方案的解决方案。将vector转换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
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句