我有一些数据是由另一个程序生成的,基本上是一种ASCII艺术形式。
----++++++++++++
5555566667888889
0246802468024680
0000000000000000
................
0000000000000001
0000000000000020
0000000000000300对此数据的有意义的解析是:col1, col2 -, 500.0 -, 520.0 -, 540.0 -, 560.0 +, 580.0 +, 600.0 +, 620.0 +, 640.0 +, 660.0 +, 780.0 +, 800.0 +, 820.0 +, 840.0 +, 860.003 +, 880.02 +, 900.1
对于为这种混乱的东西编写解析器有什么建议吗?
发布于 2020-04-14 10:23:16
如果这是您的数据
tt <- "----++++++++++++
5555566667888889
0246802468024680
0000000000000000
................
0000000000000001
0000000000000020
0000000000000300"我们可以拆分成行,然后按字符拆分这些行,并将其转储到矩阵中。然后我们可以在矩阵上运行函数来得到你想要的值。
lines <- strsplit(tt, "\n")[[1]]
cells <- t(do.call(rbind, strsplit(lines, "")))
signs <- cells[, 1]
digits <- apply(cells[, -1], 1, paste, collapse="")
data.frame(col1= signs, col2=as.numeric(digits))https://stackoverflow.com/questions/61199719
复制相似问题