【问题标题】:How to create multiple data frames from a huge data frame using a loop? [closed]如何使用循环从巨大的数据帧创建多个数据帧? [关闭]
【发布时间】:2014-09-16 21:26:36
【问题描述】:

我有一个非常大的数据框:

ID    A   B   C   D   E ...
1     34  56  67  98  23 ... 
2     23  67  99  45  73 ...
3     3   15  56  100 29 ...
...   ... ... ... ... ...

我创建了几个函数来处理两列数据框。我想使用(列表?)编写一个循环,通过始终合并 ID 列从大数据帧生成这样的数据帧。例如:

ID    A    ID   B   ID  C

那么就很容易将临时数据帧传递给函数。

谢谢!

【问题讨论】:

  • 如果我能提出任何想法,我将不胜感激。谢谢!
  • 为什么需要循环? cbind(df$ID, df$A, df$ID, df$B...df$C)
  • @RichardScriven 我问了一个问题:如果你不想回答并标记我,可以,但不要对它怀有敌意。
  • @RichardScriven 是的:“那么你的问题是什么?”当我清楚地写了一个。
  • @RichardScriven 不过,非常感谢您回答我的另一个问题。这对我帮助很大。

标签: r loops dataframe


【解决方案1】:

假设您的数据框名为veryVeryVERYLargeDF

lapply(colnames(veryVeryVERYLargeDF)[2:ncol(veryVeryVERYLargeDF)], function(nameOFColumnInveryVeryVERYLargeDF) cbind(veryVeryVERYLargeDF$ID, veryVeryVERYLargeDF[,nameOFColumnInveryVeryVERYLargeDF]))

这将为您提供somethingSmallerDF 列表,其中每个somethingSmallerDF 只是来自veryVeryVERYLargeDF 的ID 列和来自veryVeryVERYLargeDF 的其他列之一

【讨论】:

  • 谢谢!我还尝试了以下方法,它奏效了:
  • for(i in 2:ncol(df)){ assign(paste0(i,""), df[,c(1,i)], envir = .GlobalEnv)
猜你喜欢
  • 1970-01-01
  • 2022-08-06
  • 1970-01-01
  • 2023-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多