如何在r中提取子串
How to extract substrings in r
假设我有一个字符串:
{"id":"35","value":"0.2"},{"id":"1462","value":"0.2"},
{"id":"1109","value":"0.2"},{"id":"220","value":"0.2"},
{"id":"211","value":"0.1"}
我需要在每个 {}
中提取子字符串
然后在 header 中创建具有 ID 的列以及与 ID 对应的数字,例如:
35 1462 1109 220 211
----------
0.2 0.2 0.2 0.2 0.1
我们可以在paste
ing [
、]
之后分别在开始和结束时使用jsonlite
d1 <- jsonlite::fromJSON(paste0('[', str1, ']'))
这将是一个 2 列数据集,可以通过
转换为 4 列
setNames(as.data.frame.list(d1$value), d1$id)
# 35 1462 1109 220 211
#1 0.2 0.2 0.2 0.2 0.1
假设我们有多个字符串,然后将这些字符串折叠成一个字符串并应用 fromJSON
str2 <- c(str1, str1)
d1 <- jsonlite::fromJSON(paste0("[", paste(str2, collapse=",\n"), "]"))
数据
str1 <- '{"id":"35","value":"0.2"},{"id":"1462","value":"0.2"},{"id":"1109","value":"0.2"},{"id":"220","value":"0.2"},{"id":"211","value":"0.1"}'
假设我有一个字符串:
{"id":"35","value":"0.2"},{"id":"1462","value":"0.2"},
{"id":"1109","value":"0.2"},{"id":"220","value":"0.2"},
{"id":"211","value":"0.1"}
我需要在每个 {}
然后在 header 中创建具有 ID 的列以及与 ID 对应的数字,例如:
35 1462 1109 220 211
----------
0.2 0.2 0.2 0.2 0.1
我们可以在paste
ing [
、]
之后分别在开始和结束时使用jsonlite
d1 <- jsonlite::fromJSON(paste0('[', str1, ']'))
这将是一个 2 列数据集,可以通过
转换为 4 列setNames(as.data.frame.list(d1$value), d1$id)
# 35 1462 1109 220 211
#1 0.2 0.2 0.2 0.2 0.1
假设我们有多个字符串,然后将这些字符串折叠成一个字符串并应用 fromJSON
str2 <- c(str1, str1)
d1 <- jsonlite::fromJSON(paste0("[", paste(str2, collapse=",\n"), "]"))
数据
str1 <- '{"id":"35","value":"0.2"},{"id":"1462","value":"0.2"},{"id":"1109","value":"0.2"},{"id":"220","value":"0.2"},{"id":"211","value":"0.1"}'