【问题标题】:Getting the variables from strings with R formula symbols从带有 R 公式符号的字符串中获取变量
【发布时间】:2020-04-28 07:32:53
【问题描述】:

我有一个非常简单的问题。我希望能够将"Income*Educ""I(Income^2)")) 拆分为带有各自变量的字符串,因此:分别为"Income" "Educ""Income"。但是,我不知道它会是哪种类型..

以下修复:"Income*Educ"

strsplit(gsub("[^[:alnum:] ]", "", str), " +")[[1]]

而这个几乎修复了:"I(Income^2)"))

strsplit(gsub("[^A-Za-z]+", "", str), " +")[[1]]

我怎样才能使这两种形式的功能?

【问题讨论】:

  • 您可以使用terms() 来完成此操作
  • 如果你能解释一下可以用正则表达式编码的规则,那就可以了。否则,请使用建议的解决方案

标签: r regex syntax


【解决方案1】:

如果要解析 R 代码,最好避免使用正则表达式。有很多内置工具可以做到这一点。如果你有这样的公式

ff <- . ~ Income*Educ + I(Income^2)

你可以用

得到所有的变量
all.vars(ff)

这保留了“。”作为响应,但您可以将其过滤掉。

【讨论】:

    猜你喜欢
    • 2011-04-15
    • 2014-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-21
    • 1970-01-01
    相关资源
    最近更新 更多