【发布时间】:2020-09-18 03:54:09
【问题描述】:
我有一个 S4 班级列表(称为 vi2)。这是它的第一部分:
- @variables:字符 [1:7]
- @vImplist:400 个列表
- $1:具有 2 个插槽的正式类“.vImp”
- @Variables:字符 [1:7]
- @vImp: 'data.frame': 7 bs。 3个变量:
- $variables:因子 w/ 7 个级别
- $Ctest: num [1:7]
- $Atest: num [1:7]
- $variables:因子 w/ 7 个级别
- $2:具有 2 个插槽的正式类“.vImp”
- @Variables:字符 [1:7]
- @vImp: 'data.frame': 7 bs。 3个变量:
- $variables:因子 w/ 7 个级别
- $Ctest: num [1:7]
- $Atest: num [1:7]
- $variables:因子 w/ 7 个级别
- $1:具有 2 个插槽的正式类“.vImp”
总共有 400 个“.vImp”类,它们都采用相同的格式。我正在尝试做的是提取 '@vImp: 数据。每个类的框架'并将它们合并到一个新的数据框中。我可以使用以下行单独执行此操作:
vic = as.data.frame(vi2@vImplist$'1'@vImp)
这会生成具有该类正确信息的 data.frame。但是,当我尝试一次为所有 400 个类执行此操作时,它失败了。
vic = as.data.frame(vi2@vImplist$'1:400'@vImp)
as.data.frame(vi2@vImplist$'1:400'@vImp) 中的错误: 试图从没有槽的基本类(“NULL”)的对象中获取槽“vImp”。
我也尝试使用循环来完成任务。但是,这也因同样的错误而失败:
for (i in seq(from = 1, to = 1, by = 1)) {
vic = as.data.frame(vi2@vImplist$'[i]'@vImp)
output <- rbind(newdf,vic)
}
是否有人对可能出现的问题有任何建议?
【问题讨论】: