小编Phi*_*rts的帖子

从 R 中的 S4 类列表中提取和合并数据帧

我有一个 S4 班级列表(称为 vi2)。这是它的第一部分:

  • @变量:chr [1:7]
  • @vImplist:400 个列表
    • $1:具有 2 个插槽的正式类“.vImp”
      • @变量:chr [1:7]
      • @vImp:'data.frame':7 bs。3个变量:
        • $variables:Factor w/7 个级别
          • $Ctest: num [1:7]
          • $Atest: num [1:7]
    • $2:具有 2 个插槽的正式类“.vImp”
      • @变量:chr [1:7]
      • @vImp:'data.frame':7 bs。3个变量:
        • $variables:Factor w/7 个级别
          • $Ctest: num [1:7]
          • $Atest: num [1:7]

总共有 400 类“.vImp”,它们都采用相同的格式。我试图做的是提取 '@vImp: 数据。frame' 为每个类并将它们合并到一个新的数据帧中。我可以使用以下行单独执行此操作:

vic = as.data.frame(vi2@vImplist$'1'@vImp) 
Run Code Online (Sandbox Code Playgroud)

这将生成具有该类正确信息的 data.frame。但是,当我尝试一次为所有 400 个课程执行此操作时,它失败了。

vic = as.data.frame(vi2@vImplist$'1:400'@vImp) 
Run Code Online (Sandbox Code Playgroud)

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)
}  
Run Code Online (Sandbox Code Playgroud)

有没有人对可能出现的问题有任何建议?

r dataframe s4

0
推荐指数
1
解决办法
303
查看次数

标签 统计

dataframe ×1

r ×1

s4 ×1