有没有办法运行包含在字符串对象中的代码(在R中)?

Rem*_*i.b 4 string r class

请考虑以下字符串:

to_run = "alpha = data.frame(a=1:3, b=2:4)"
Run Code Online (Sandbox Code Playgroud)

要么

to_run = "for (i in 1:10){print(i);print('Hello World!')}"
Run Code Online (Sandbox Code Playgroud)

如何运行在对象中写为字符串字符的代码to_run

一种解决方案是在外部文件上输出对象并获取它:

write.table(to_run, 'I.am.a.Path/folder/file.name', quote=F, row.names=F, col.names=F)
source('I.am.a.Path/folder/file.name')
Run Code Online (Sandbox Code Playgroud)

还有另一种更直接的解决方案吗?

Jam*_*mes 6

你可以sourcetextConnection:

source(textConnection(to_run))
alpha
  a b
1 1 2
2 2 3
3 3 4
Run Code Online (Sandbox Code Playgroud)