我确信这很简单,但我找不到解决方案。 我想把我的字符串称为Data
Data
[1] "as.numeric(dataset$a),as.numeric(dataset1$a)"
在函数data.frame中创建数据帧。我试试:
DB<-data.frame(Data)
但输出是我的字符串。如果我调用DB,则输出infact为:
Data
1 as.numeric(dataset$a),as.numeric(dataset1$a)
不是数据集$ a,dataset1 $ a中的值。 感谢
答案 0 :(得分:1)
当然,有一种更好的方法可以做任何你想做的事情。但是如果你真的想要运行一个字符串就好像它是代码一样,你可以使用eval(parse(text = string))
构造。但是,编写代码通常是一种糟糕的方式。尽管如此,这是一个解决方案:
# a test dataframe
df = data.frame(a = 1:10, b = 11:20)
# string with code to run
string = "as.numeric(df$a),as.numeric(df$b)"
# split on , since those are separate lines of code
str = unlist(strsplit(string, ','))
# put it in a dataframe
df2 = data.frame(sapply(str, function(string) eval(parse(text = string))))