使用 R 中的变量名提取列表中的项目
Extract items in a list using variable names in R
我正在使用 RJSONIO 包解析 JSON。
已解析的项目包含嵌套列表。
列表中的每一项都可以使用如下方式提取:
dat_raw$`12`[[31]]
正确 returns 存储在此位置的字符串(在此示例中,'12'
指的是月,[[31]]
指的是日)。
"31-12-2021"
我现在想要 运行 一个 for
循环来按顺序提取每个月的日期。像这样:
for (m in 1:12) {
print(dat_raw$m[[31]])
}
这个,自然是returns一个NULL
,因为列表里没有$m[[31]]
。
相反,我想提取存储在 $`1`[[31]]
、$`2`[[31]]
、... $`12`[[31]]
.
的对象
这里肯定有一个相对简单的解决方案,但我没有设法破解它。我很重视一些帮助。谢谢。
编辑:我添加了我试图提取的列表结构的屏幕截图。对于 dput()
输出,实际的 JSON 对象相当大。希望这有帮助
因此,要获取此列表中的日期,我会使用类似 dat_raw$data$`1`[[1]]$date$gregorian$date
.
的内容
我想做的是 运行 一个循环,通过循环使用 $data$`1`[[1]]$...
、$data$`2`[[1]]$...
... $data$`12`[[1]]$...
来提取列表的多个项目$data$m[[1]]$...
在 for
循环中,其中 m
是月份。
如果 12
是 JSON 的第 12 个元素,则 可以使用 dat_raw[[12]][[31]]
而不是 dat_raw$`12`[[31]]
。所以你的 for
循环将是:
for (m in 1:12) {
print(dat_raw[[m]][[31]])
}
我正在使用 RJSONIO 包解析 JSON。
已解析的项目包含嵌套列表。
列表中的每一项都可以使用如下方式提取:
dat_raw$`12`[[31]]
正确 returns 存储在此位置的字符串(在此示例中,'12'
指的是月,[[31]]
指的是日)。
"31-12-2021"
我现在想要 运行 一个 for
循环来按顺序提取每个月的日期。像这样:
for (m in 1:12) {
print(dat_raw$m[[31]])
}
这个,自然是returns一个NULL
,因为列表里没有$m[[31]]
。
相反,我想提取存储在 $`1`[[31]]
、$`2`[[31]]
、... $`12`[[31]]
.
这里肯定有一个相对简单的解决方案,但我没有设法破解它。我很重视一些帮助。谢谢。
编辑:我添加了我试图提取的列表结构的屏幕截图。对于 dput()
输出,实际的 JSON 对象相当大。希望这有帮助
因此,要获取此列表中的日期,我会使用类似 dat_raw$data$`1`[[1]]$date$gregorian$date
.
我想做的是 运行 一个循环,通过循环使用 $data$`1`[[1]]$...
、$data$`2`[[1]]$...
... $data$`12`[[1]]$...
来提取列表的多个项目$data$m[[1]]$...
在 for
循环中,其中 m
是月份。
12
是 JSON 的第 12 个元素,则 可以使用 dat_raw[[12]][[31]]
而不是 dat_raw$`12`[[31]]
。所以你的 for
循环将是:
for (m in 1:12) {
print(dat_raw[[m]][[31]])
}