相关疑难解决方法(0)

有没有比字符串操作更好的选择以编程方式构建公式?

其他人的功能似乎都采用了公式对象,然后在内心深处对他们进行黑暗魔法,我很嫉妒.

我正在编写一个适合多个模型的函数.这些模型的公式部分保持不变,从一个模型到下一个模型的部分变化.笨拙的方法是让用户输入公式部分作为字符串,对它们进行一些字符操作,然后使用as.formula.

但在我走这条路之前,我只是想确保我不会忽略一些更干净的方式,它允许函数接受标准R格式的公式(例如从其他公式使用的对象中提取).

我想要像......

> LHS <- y~1; RHS <- ~a+b; c(LHS,RHS);
y ~ a + b
> RHS2 <- ~c;
> c(LHS, RHS, RHS2);
y ~ a + b + c
Run Code Online (Sandbox Code Playgroud)

要么...

> LHS + RHS;
y ~ a + b
> LHS + RHS + RHS2;
y ~ a + b + c
Run Code Online (Sandbox Code Playgroud)

...但不幸的是,两种语法都不起作用 有人知道是否有什么事情可以做到吗?谢谢.

r linear-regression

51
推荐指数
1
解决办法
4364
查看次数

如何将公式转换为函数,或将公式应用于某些值?

我有一个函数需要将 a作为输入,例如以formula的形式。y~x然后,我需要通过一系列x-values到该公式中以得出y

例如,如果我的公式是y~x^2,并且我的 x 值系列是 (1,2,3,4),那么我应该期望 (1,4,9,16) 作为输出。

假设我有这样的公式:formula1 <- y~x::

到目前为止,这是我尝试过的:

  • 将公式转换为函数:as.function(formula1)
  • 使用model.framemodel.matrix像这样:

就像这样:

formula1 <- y~x^2 
x <- c(1,2,3,4)
my_data <- data.frame("x" = x, "y" = rep(0,length(x))) 
model_frame <- model.frame(formula1, data = my_data)
my_design_matrix <- model.matrix(formula1, model_frame)
Run Code Online (Sandbox Code Playgroud)
  • 我尝试使用 nls2,但我没有任何参数可以优化,所以我不明白这一点。

我可以用什么来实现这个目的?

以下是我查阅的资源:
如何将公式应用于 R 中的向量?

将公式传递给 R 中的函数?

r function formula dataframe

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

标签 统计

r ×2

dataframe ×1

formula ×1

function ×1

linear-regression ×1