【发布时间】:2015-02-10 14:25:23
【问题描述】:
我有一个包含 147 列的数据集,每列有 7 行。我想使用每一列进行单独的回归分析。
fit = nls(DD$X1, ~ (1/(1+k*xValues)),start=list(k=k))
解释:
DD 是数据集:它是一个数据框)级别是“X1”、“X2”等。
xValues = c(1,2,7,14,30,180,720)
k 是我要确定的参数)
但我想循环执行,例如接下来要花 2 美元,... 一直到 147 美元。 一路上我想存储适合的值。
我是 r 的新手:有人可以建议如何做到这一点吗?非常感谢。
【问题讨论】:
-
要么编写一个循环,每次通过
list变量fit[[j]]<-nls(DD[[j]]....)分配结果,要么使用?sapply做同样的事情。如果您无法编写for循环,请阅读所有 CRAN 镜像中的R-introPDF 文档。 -
您也可以为此使用
data.table。library(data.table) ; Res <- setDT(DD)[, list(lapply(.SD, function(x) nls(x ~ (1/(1+k*xValues)), start=list(k=k))))]之类的东西将存储您的结果,为了查看它们,请执行Res[, lapply(V1, print)]