相关疑难解决方法(0)

评估以字符串形式给出的表达式

我很想知道R是否可以使用它的eval()功能来执行例如字符串提供的计算.

这是一个常见的情况:

eval("5+5")
Run Code Online (Sandbox Code Playgroud)

但是,而不是10我得到:

[1] "5+5"
Run Code Online (Sandbox Code Playgroud)

有解决方案吗

eval r r-faq

263
推荐指数
7
解决办法
17万
查看次数

eval(解析(...))的危险是什么?

关于如何避免使用有几个问题 eval(parse(...))

这引发了一些问题:

  • 为什么要特别eval(parse())避免?
  • 最重要的是,危险是什么?
    • 如果代码没有用于生产,是否有任何危险?(我在想,任何可能会产生意想不到的结果的危险.很明显,如果你不小心你正在解析什么,你就会遇到问题.但这是否比邋with更危险get()?)

parsing eval r

62
推荐指数
4
解决办法
1万
查看次数

将stargazer与通过对拆分data.frame进行重叠处理而创建的lm对象列表一起使用

我正在尝试为一组回归创建观星表,在该表中,我对数据的一个子集运行了每个回归。我认为,执行此操作的自然方法是使用split从我的数据创建data.frames列表,使用data.frames列表创建lm对象lapply列表,然后将该列表提供给stargazer。例如,

library(MASS)
library(stargazer)

data(Boston)

# This doesn't work
by.river <- split(Boston, Boston$chas)
fit <- lapply(by.river, lm, formula = crim ~ indus)
stargazer(fit, type = "text")

# % Error: Unrecognized object type.
# % Error: Unrecognized object type.
Run Code Online (Sandbox Code Playgroud)

如果我将它们手动分割,效果很好:

# This works
fit2 <- vector(mode = "list", length = 2)
fit2[[1]] <- lm(crim ~ indus, data = Boston, subset = (chas == 0))
fit2[[2]] <- lm(crim ~ indus, data = Boston, subset = (chas == …
Run Code Online (Sandbox Code Playgroud)

r stargazer

5
推荐指数
1
解决办法
2750
查看次数

标签 统计

r ×3

eval ×2

parsing ×1

r-faq ×1

stargazer ×1