【问题标题】:Converting character vector to list of data frames of same names将字符向量转换为同名数据帧列表
【发布时间】:2016-01-07 16:01:58
【问题描述】:

我有一组数据框 - 假设称为 report_001、report_002、report_003 等等 - 我将它们的名称放在字符向量中,例如:

n <- c('report_001', 'report_002', 'report_003')

我需要把它变成如下的数据框列表:

dfList <- list(report_001 = report_001, report_002 = report_002, report_003 = report_003)

这样我就可以这样索引:

dfList[['report_002']]

但是,由于我有大量数据框,我不想手动执行此操作。尝试做这样的事情没有奏效:

dfList <- sapply(n, function(x) assign(x, as.name(x)))

对于这个问题,那些数据框是什么并不重要。为简单起见,我可以:

report_001 <- mtcars
report_002 <- mtcars
report_003 <- mtcars

如何实现将我的数据框名称自动转换为同名索引的数据框列表?

【问题讨论】:

  • 哇...如此简单和基础。甚至不知道。谢谢!

标签: r


【解决方案1】:
report_001 <- mtcars
report_002 <- mtcars
report_003 <- mtcars
n <- c('report_001', 'report_002', 'report_003')
dfList <- mget(n)
head(dfList[['report_001']])
#                    mpg cyl disp  hp drat    wt  qsec vs am
# Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1
# Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1
# Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1
# Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0
# Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0
# Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0

【讨论】:

  • 虽然这就像一个冠军,但在用我的数据集构建这个列表后,我在调用一个闪亮的应用程序时遇到了可怕的麻烦。一切看起来都不错,但是当我使用空白服务器调用空白 UI 时,我得到错误:未找到“report_001”的值。对于我的生活,我无法弄清楚。奇怪的是,当我在一列中使用 gsub 逗号时,相同的错误会移动到列表中的下一个数据框。有什么想法吗?
  • 对于超出第一个问题范围的后续问题,最好完全创建另一个问题。否则很难提供帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-24
  • 2023-01-21
  • 2019-03-11
  • 1970-01-01
  • 2023-01-18
相关资源
最近更新 更多