我得到了一个数据集,其中特定变量中的值看起来像...
{"varname": "value", "varname2": "value2", "varname3": "value3"}
,我想要一种快速有效的方法将其分解为3个单独的变量,其中var名称是列名称,值是其对应的向量。它必须在R中,否则pythons词典功能将轻松解决此问题。任何想法将不胜感激!
答案 0 :(得分:0)
您有一个简单的json:
# install.packages("rjson") # If you don't have this package, run this line
library("rjson")
str <- '{"varname": "value", "varname2": "value2", "varname3": "value3"}'
json_data <- fromJSON(str)
输出在列表中提供变量:
$`varname`
[1] "value"
$varname2
[1] "value2"
$varname3
[1] "value3"
现在,如果将其转换为数据框,它将为您提供所需的确切结果:
as.data.frame(json_data )
最终输出为:
varname varname2 varname3
value value2 value3
答案 1 :(得分:0)
您可以使用jsonlite
包中的fromJSON()
函数将Python字典解析为R list
,然后使用as.data.frame()
将其转换为数据帧。之后,您可以使用r_df$...
py_dict <- '{"varname": "value", "varname2": "value2", "varname3": "value3"}'
r_list <- jsonlite::fromJSON(txt = py_dict)
r_df <- as.data.frame(r_list)
r_df
#> varname varname2 varname3
#> 1 value value2 value3
由reprex package(v0.2.1)于2018-09-16创建