0

首先我想指出我对R不是很熟悉,如果以下问题之一很清楚,很抱歉。

我的动机是编写一个简单的 R 脚本,其中应包含:

  1. 导入数据
  2. 做形式 $ Y=aX+bZ+intercept$ 的回归
  3. 一些计算
  4. 输出

现在这是我的问题:

  1. 这是一个非常普遍的问题:如果我编写了 R 脚本,那么我必须使用 source(name.R) 加载它,对吗?必须有额外的命令来执行脚本吗?
  2. 假设我用 进行回归lm,这样fit<-lm(Y~X+Z,data=database)会给出一个不错的输出。我真正想要的是将模型的系数保存在向量中。我怎样才能做到这一点?这将是一个 3 维向量(intercept, a, b)编辑我试过了coefficient<-coefficient(fit)。这不起作用!coefficient不是数值向量。还有名称,即截距和下面的第一个元素的值。
  3. 如果我想在脚本的最后打印出系数和一些计算,我该怎么做?只写print(....)

我非常感谢您的帮助,希望我考虑了这个论坛中的所有规则和约定,因为这是我的第一个问题。如果没有,我很抱歉。

4

1 回答 1

2

如果我编写了 R 脚本,那么我必须使用 source(name.R) 加载它,对吗?必须有额外的命令来执行脚本吗?

如果您的脚本直接调用命令,则不会

例如,如果 name.R 包含

a <- 1:10
plot(a, a^2, t="l")

然后 source("name.R") 会直接生成一个图

但是,如果 name.R 包含

myfunction <- function()
   {
   a <- 1:10
   plot(a, a^2, t="l")
   }

然后采购它只会加载该功能。然后,您将不得不调用myfunction()以获取情节。

假设我用 lm 做了回归,比如 fit<-lm(Y~X+Z,data=database) 这给出了一个很好的输出。我真正想要的是将模型的系数保存在向量中。我怎样才能做到这一点?这将是一个 3 维向量(截距,a,b)
如果我想在脚本的最后打印出系数和一些计算,我该怎么做?只写打印(....)?

 print(coef(fit))

会给你你需要的(你可以将它们存储在一个数组中model.coef <- coef(fit)

此外,运行可能会很有趣

 summary(fit)

查看?coef?summary了解更多信息

于 2012-04-24T16:39:48.797 回答