如果数据的每一行都被分隔开,有没有办法解析R中的数据?
我现在有数据,每一行都是分开的。我的目标是能够将所有行合并到一个整洁的数据表中。在文本文件中,数据当前看起来是这样的:如果数据的每一行都被分隔开,有没有办法解析R中的数据?,r,R,我现在有数据,每一行都是分开的。我的目标是能够将所有行合并到一个整洁的数据表中。在文本文件中,数据当前看起来是这样的: { "Name":"Person_1_Name" "Age":"15" } { "Name":"Person_2_Name" "Age":"25" } ........ 我想得到它,所以它看起来像: Name Age Person_1_Name 15 Person_2_Name
{ "Name":"Person_1_Name"
"Age":"15"
}
{ "Name":"Person_2_Name"
"Age":"25"
}
........
我想得到它,所以它看起来像:
Name Age
Person_1_Name 15
Person_2_Name 25
.....
有没有办法在R内实现这一点?我所知道的最粗糙的方法是编写一个搜索函数,但我想知道是否还有其他方法可以让人们知道。谢谢大家! 如果数据实际如下所示:
txt <- '[{ "Name":"Person_1_Name",
"Age":"15"
},
{ "Name":"Person_2_Name",
"Age":"25"
}]'
给出:
Name Age
[1,] "Person_1_Name" "15"
[2,] "Person_2_Name" "25"
如果没有,那么先把它按摩成那种形状。当然。如果这实际上是JSON格式,请使用库。但您也可以只解析原始文本
yr_data <-
'{ "Name":"Person_1_Name"
"Age":"15"
}
{ "Name":"Person_2_Name"
"Age":"25"
}'
# split by line
yr_data <- unlist(strsplit(yr_data, '\n'))
# subset to only the lines with : in them
yr_data <- grep(':', yr_data, value=T)
# split on the colon
yr_data <- unlist(strsplit(yr_data, ':'))
# name is in every 2nd place, age in every 4th
data.frame(Name=yr_data[seq(2, length(yr_data), by=4)],
Age=yr_data[seq(4, length(yr_data), by=4)])
我不是专家,但它看起来像一个JSON对象。也许你可以试着处理这些对象?
yr_data <-
'{ "Name":"Person_1_Name"
"Age":"15"
}
{ "Name":"Person_2_Name"
"Age":"25"
}'
# split by line
yr_data <- unlist(strsplit(yr_data, '\n'))
# subset to only the lines with : in them
yr_data <- grep(':', yr_data, value=T)
# split on the colon
yr_data <- unlist(strsplit(yr_data, ':'))
# name is in every 2nd place, age in every 4th
data.frame(Name=yr_data[seq(2, length(yr_data), by=4)],
Age=yr_data[seq(4, length(yr_data), by=4)])
Name Age
1 Person_1_Name 15
2 Person_2_Name 25