【发布时间】:2016-05-05 04:41:54
【问题描述】:
我目前正在同时使用 Python 和 R(使用 rmagic/rpy2)来帮助选择不同的用户输入变量以进行某种类型的分析。
我已经阅读了一个 csv 文件并在 R 中创建了一个数据框。我还允许用户输入一些变量,这些变量的名称必须与标题中的变量匹配(使用 Python)。
例如,如果我创建一个这样的数据框
%R data1 <- read.csv(filename, header =T)
然后我有一些用户输入变量,这些变量当前是 python 中的字符串,看起来像这样。
var_1 = 'data1$age'
var_2 = 'data1$sex'
然后我怎样才能使用这个字符串作为 R 中的可运行代码来到达数据框的正确列:
%R variable1 <- data1$sex
目前我已经尝试了 assign 功能和其他功能(我知道这可能离目标很远),但我总是这样:
%R -i var_1 assign('variable1', var_1)
%R print(variable1)
"data1$age"
我知道我可以在 R 中分配值等,但我质疑是否有可能将字符串转换为可运行的代码位,该代码可以到达 data.frame。
【问题讨论】:
-
Hadley's chapter on non-standard evaluation 对于手头的问题来说太过分了,但对于了解正在发生的事情很有用。