- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的问题几乎在 dplyr 0.3.0.9000 how to use do() correctly 中得到了回答,但不完全是。
我有一些看起来像这样的数据:
> head(myData)
Sequence Index xSamples ySamples
6 0 5 0.3316187 3.244171
7 0 6 1.5131778 2.719893
8 0 7 1.9088933 3.122991
9 0 8 2.7940244 3.616815
10 0 9 3.6500311 3.519641
Sequence 实际上的范围是 0 到 9999。在每个 Sequence 中,xSamples 和 ySamples 都应该与 Index 成线性关系。计划是按序列对 myData 进行分组,然后在每个组上通过 do()
使用 lm()
。代码是这样的(无耻地从帮助中提取):
library(dplyr)
myData_by_sequence <- group_by(myData, Sequence)
models <- myData_by_sequence %>% do(mod = lm(xSamples ~ Index, data = .))
这行得通,但我得到的结果是这样的。 . .
> head(models)
Source: local data frame [10000 x 2]
Sequence mod
1 0 <S3:lm>
2 1 <S3:lm>
3 2 <S3:lm>
4 3 <S3:lm>
5 4 <S3:lm>
6 5 <S3:lm>
. . .我想要的数据卡在第二列中。我有一个有效的 plyr
解决方案,它是这样的。 . .
models <- dlply(myData, "Sequence", function(df) lm(xSamples ~ Index, data = df))
xresult <- ldply(models, coef)
. . .由于 coef()
,这给了我分解成数据框的结果。问题是我不能将 dplyr(我通常使用和喜爱)与 plyr 混合使用,而且我似乎无法让 coef()
使用 dplyr 输出的第二列。
我尝试了其他一些方法,例如尝试将 coef()
和 lm()
这两个步骤放在一起,我可以将第二列分解成一个列表线性模型,但我不能在列表上使用 do()
。
我真的觉得我在这里缺少了一些明显的东西。 R 绝对不是我的主要语言。任何帮助将不胜感激。
编辑试过 。 . .
result <-
rects %>%
group_by(Sequence) %>%
do(data.frame(Coef = coef(lm(xSamples ~ Frame, data = .))))
. . .并得到非常接近的东西,但系数堆叠在同一列中:
Sequence Coef
1 0 -5.0189823
2 0 1.0004240
3 1 -4.9411745
4 1 0.9981858
最佳答案
尝试
library(dplyr)
myData %>%
group_by(Sequence) %>%
do(data.frame(setNames(as.list(coef(lm(xSamples~Index, data=.))),
c('Intercept', 'Index')))
# Sequence Intercept Index
#1 0 -3.502821 0.7917671
#2 1 3.071611 0.3226020
或者使用data.table
library(data.table)
setDT(myData)[, as.list(coef(lm(xSamples~Index))) , by = Sequence]
# Sequence (Intercept) Index
#1: 0 -3.502821 0.7917671
#2: 1 3.071611 0.3226020
myData <- structure(list(Sequence = c(0L, 0L, 0L, 0L, 0L, 1L, 1L, 1L,
1L, 1L), Index = c(5L, 6L, 7L, 8L, 9L, 15L, 6L, 9L, 6L, 10L),
xSamples = c(0.3316187,
1.5131778, 1.9088933, 2.7940244, 3.6500311, 7.3316187, 4.5131778,
9.9088933, 3.7940244, 4.6500311), ySamples = c(3.244171, 2.719893,
3.122991, 3.616815, 3.519641, 3.244171, 8.719893, 5.122991, 7.616815,
5.519641)), .Names = c("Sequence", "Index", "xSamples", "ySamples"
), class = "data.frame", row.names = c(NA, -10L))
关于r - 如何在 dplyr 的 do() 输出上使用 coef(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31542225/
我使用此函数绘制每个标签的最佳和最差特征 (coef)。 def plot_coefficients(classifier, feature_names, top_features=20):
我有一个用于实验的 CRM 数据集,其中虚拟 W 对应于治疗/对照组(参见下面的代码)。当我测试 W 与其他特征的独立性时,我意识到两件事: 使用 model.matrix 时,一些系数(此虚拟数据集
我的问题几乎在 dplyr 0.3.0.9000 how to use do() correctly 中得到了回答,但不完全是。 我有一些看起来像这样的数据: > head(myData) Se
我使用 pandas 和 statsmodels 进行线性回归。但是,我找不到任何可能的方法来读取结果。结果已显示,但我需要使用 coef 值做一些进一步的计算。有什么方法可以将 coef 值存储到新
我正在尝试按 coef 打印 VIF(方差膨胀因子)。但是,我似乎无法从 statsmodels 中找到任何说明如何进行的文档?我有一个需要处理的 n 个变量的模型,并且所有变量的多重共线性值无助于删
假设我有 my.model My.model <- coxph(Surv(stop, event) ~ (rx + size + number) * strata(enum), clust
我在弄清楚如何从模型系数和模型矩阵中找到预测值时遇到了很多麻烦。我希望有人可以提供帮助。 我目前有一个线性模型,其中包含我正在设置的两个自变量。例如 data <- data.frame(d1,d2,
有人可以解释一下我是否有因变量,例如结果 (y),定义为 y = K1*F1 + K2*F2 + ... + Kn*Fn + E 每 n 个特征,其中 K - 系数,F - 特征(分类特征和连续特征)
我正在尝试为一组标准曲线构建一系列线性模型。 目前这段代码正在产生我想要的输出(每个线性模型的截距和斜率): slopes % group_by(plate, col, row, conc_ug_mL
我试图简化我的代码以避免 for 循环,但是一旦我运行我的 cox 比例风险代码来提取系数的 p 值和标准误差,我就遇到了困难。我的代码如下: library(survival) #Generate
我正在尝试在 KNeighborsClassifier 上应用 RFECV 来消除无关紧要的特征。为了使问题可重复,以下是虹膜数据的示例: from sklearn.datasets import l
我是一名优秀的程序员,十分优秀!