我有几个带有多个数据点的.txt文件,这些文件的头格式不正确,我试图取出不必要的数据,以便R可以读取数据。需要删除某些零件,并需要标识X和Y列。这是文本文件读取内容的示例,其中six
指的是X
组件,siy
指的是Y
组件:
{
"description": "",
"name": "1ml",
"references": [
{
"siclassids": [
],
"siname": "1ml",
"sipoints": [
{
"six": 397.32000732421875,
"siy": 0.8571428656578064
},
{
"six": 400.20001220703125,
"siy": 0.75
},
{
"six": 403.08999633789062,
"siy": 0.60000002384185791
在几个不同的文件中有数百个这些数据点,请问有什么方法可以组织这些数据并读取图中的数据?
谢谢!
答案 0 :(得分:0)
您可以使用正则表达式。 grep
标识有趣的行。 gsub
找到"x"
和"y"
以及相应的值,并用,
对其进行汇编。 strsplit
在逗号处分成一个列表。
l <- readLines("dp.txt")
l <- setNames(do.call(rbind.data.frame,
strsplit(gsub(".+si(.)\\D*(\\d+\\.\\d+).+", "\\1, \\2",
l[grep("\\d{2,}", l)]), ",")), c("axis", "coord"))
l$coord <- as.numeric(l$coord)
l
# axis coord
# 1 x 4
# 2 y 3
# 3 x 5
# 4 y 2
# 5 x 6
# 6 y 1