r - R:从另一个数据框中检索数据框名称
问题描述
我有一个数据框dataselect
,它告诉我在每种分析情况下使用什么数据框(我们称之为相关数据框)。
案例是动态分配的,因此哪个数据帧相关取决于该案例。
根据案例,我想将相关数据框分配给指针“relevantdf”。我试过了:
datasetselect <- data.frame(case=c("case1","case2"),dataset=c("df1","df2"))
df1 <- data.frame(var1=letters[1:3],var2=1:3)
df2 <- data.frame(var1=letters[4:10],var2=4:10)
currentcase <- "case1"
relevantdf <- get(datasetselect[datasetselect$case == currentcase,"dataset"]) # relevantdf should point to df1
我不明白我是否对get()
函数或子集过程有问题。
解决方案
你快到了,问题是来自 datasetselect 的数据集列是一个因素,你只需要将它转换为字符
您可以在 datasetselect 的定义之后添加这一行:
datasetselect$dataset <- as.character(datasetselect$dataset)
你得到你预期的输出
> relevantdf
var1 var2
1 a 1
2 b 2
3 c 3
推荐阅读
- ios - 如何使 UIStackView 的元素居中对齐
- user-interface - Flutter 中的 Neumorphic / neomorphic 设计
- python-3.x - github python操作在numpy上失败
- sql-server - 将列拆分为 2 列并求和
- javascript - async / await 函数的返回值
- javascript - 谷歌扩展找不到现有元素
- php - 如何将表单字段添加到不在数据库中的 php/MySQL 登录表单以通过电子邮件发送
- php - Laravel:电子邮件多次发送给一个用户
- flutter - 如何在 Flutter 的粘性标题正文中添加 Gridview
- ruby-on-rails - ActiveAdmin:将默认主题样式应用于自定义面板的自定义部分