我正在做一个项目,正在分析文本。我有形式的字符串
"id": 8784, "name": "Daniel", "age":"65", "gender":"M"
和这种事情。我的问题是如何获取数据,以便每个变量可以成为其自己的列,即名称列,第一个条目是Daniel。
最简单的是使用 JSON
路线
library(jsonlite)
library(tidyverse)
sprintf("{%s}", str1) %>%
fromJSON %>%
as.data.frame
# id name age gender
#1 8784 Daniel 65 M
如果有多个字符串,我们可以使用
sprintf("{%s}", str1) %>%
map_df(fromJSON)
更新
基于OP的评论,如果它也有[{..}]
str1 <- '[{"id": 8784, "name": "Daniel", "age":"65", "gender":"M"}]'
fromJSON(str1)
# id name age gender
#1 8784 Daniel 65 M
对于多个元素,
str1 <- c(str1, str1)
str1 %>%
map_df(fromJSON)
# id name age gender
#1 8784 Daniel 65 M
#2 8784 Daniel 65 M
数据
str1 <- '"id": 8784, "name": "Daniel", "age":"65", "gender":"M"'