我想编写一个函数,该函数根据从SQL表中读取的字符串在数据框中创建新变量。该函数应该带有两个参数:df
和str
,并返回df
并附加一个额外的列。 str
将为"a = f(B)"
形式的字符串,其中a
为df
,B
的列为df
的一组列,f
为转换函数。传递字符串作为变换的第二个参数
例子:
df <- data.frame(EventID = c(111,112,113), Day = c(6,8,15))
我要的是transform(df, Week = ceiling(Day/7))
,但我无法弄清楚如何传递字符串"Week = ceiling(Day/7)"
(如字符类型的变量)的transform
的...
参数。
我试过parse
和eval
的各种组合,但我无法弄清楚如何将字符对象转换为R文档描述为“标记的向量表达式”的内容。
使用'sprintf('transform(df,%s)',str)'来构造你的调用可能更容易 – mnel