【问题标题】:how to save list of different sized lists into dataframe or other datastructure in R如何将不同大小列表的列表保存到 R 中的数据框或其他数据结构中
【发布时间】:2014-04-26 17:57:21
【问题描述】:

我是 R 新手,我有许多不同大小的列表,我如何将它们保存在数据结构中,以便以后可以迭代它们。如果列表大小相同,我认为使用数据框是可行的。
假设你有 10 个这样的 [ [ [ ],[ ],[ ] ] , [ [ ],[ ],[ ],[ ] ] , [ [ ],[ ] ] ] 如何将所有 10 个放在一个引用变量中

我希望这个示例代码能澄清它:

max=sample(1:10,6,replace=F)

for (n in 1:5){
  neighborList=list()

  for ( i in 1:max[n]){
    num=sample(15:49,20,replace=F) 
    neighborList[i] = 0

    for (j in 1:num[i])
    {
      neighborList[[i]][j] = i*j
    }
  }
}

n 的每次迭代,示例代码将创建一个不同的列表列表,我想通过在每次迭代后附加它们来保存,并在以后使用它。例如,如果变量 temp 保存了所有生成的列表,如果可能的话,我可以说 x[1] 它应该给我当 n=1 时生成的第一个 neighborList。

感谢任何帮助。

【问题讨论】:

  • 如果你有一个列表列表,它已经是一个可以迭代的数据结构。所以我不明白你的问题。
  • 这里没有足够的信息来帮助您。您需要提供一个具体的示例,并准确说明您在遍历列表时打算做什么。
  • 抱歉不清楚我希望这会有所帮助。假设您有 10 个这样的 [ [[],[],[]] , [[],[],[],[]] , [[],[]] ] 如何将所有 10 个放在单个引用变量中,是不是很清楚,或者我让你更困惑了
  • 正如乔兰所说:考虑发布reproducible example 以及结果应该是什么样子。然后你就会得到答案。
  • 对于所有喜欢对问题投反对票的人,在投反对票之前至少给一天时间进行编辑。

标签: r list data-structures


【解决方案1】:
max=sample(1:10,6,replace=F)

temp <- list()
for (n in 1:5){
  neighborList=list()

  for ( i in 1:max[n]){
    num=sample(15:49,20,replace=F) 
    neighborList[i] = 0

    for (j in 1:num[i])
    {
      neighborList[[i]][j] = i*j
    }
  }
  temp[[n]] <- neighborList
}

temp[[1]]temp[1] 不是已经为您提供了您想要的东西,即当 n=1 时生成的第一个邻居列表?

【讨论】:

  • 这么明显的答案,我想我是 R 新手。谢谢
猜你喜欢
  • 1970-01-01
  • 2012-09-12
  • 1970-01-01
  • 2021-08-02
  • 2021-08-12
  • 2019-11-19
  • 1970-01-01
  • 2021-02-10
  • 1970-01-01
相关资源
最近更新 更多