[英]How should I structure my multiple observations per person data in R for computing OLS and quantile regression?
为了分析眼动追踪实验的数据,我使用Matlab对该数据进行了预处理,现在我想在R. OLS回归和分位数回归中进行回归分析。
对于这种情况下的单个测试人员“ vp31”,我开始是这样的:
# load file
dikablis <- read.table("vp31.txt", sep="\t") # load it
# generate col names
colnames(dikablis) <- c("area","start","end","duration")
从开始的上升时间可以看出,我对每个人都有成功的观察结果。 确切地说,我的数据现在看起来像这样:
area start end duration
1 speed 0 200 200
2 attitude 200 400 200
3 speed 400 680 280
4 attitude 680 1200 520
5 speed 3840 4200 360
6 attitude 4200 5160 960
然后,我尝试计算回归:
Call:
lm(formula = duration ~ area, data = dikablis)
Residuals:
Min 1Q Median 3Q Max
-490.1 -218.8 -63.9 118.7 3829.9
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 650.07 22.26 29.202 < 2e-16 ***
areafma -344.35 103.73 -3.320 0.000953 ***
areahead_pfd -226.19 51.39 -4.402 1.26e-05 ***
areaheight -191.25 37.88 -5.049 5.81e-07 ***
areaspeed -248.75 41.03 -6.063 2.29e-09 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 379.1 on 640 degrees of freedom
Multiple R-squared: 0.0838, Adjusted R-squared: 0.07807
F-statistic: 14.63 on 4 and 640 DF, p-value: 1.911e-11
希望直到现在我都能做到? R给我留下深刻的印象,因为它很聪明,并且会自动对分类变量Area of Interest进行伪编码。 但是,是否有一种方法可以将参考级别设置为包含感兴趣级别名称的向量的第一个元素? 在这种情况下,我想以FMA作为参考。
aois <- c("FMA", "speed", "attitude", "altitude", "head_pfd")
我还从Matlab中提取了一个带有测试人员姓名的向量,例如>
vps <- c("vp31","vp2")
现在,我提出了一个更大的问题,我应该如何构造我的数据以计算多个测试人员的回归,回归公式将如何? (不要混淆,我只是在此处用数字替换了区域中的分类名称,因为此示例是使用较旧版本的代码生成的)
V1 V2 V3 V4 V5 V6
1 Reg_Area_VP31 Reg_Statime_VP31 Reg_Endtime_VP31 Reg_Duration_VP31 Reg_Area_VP2 Reg_Statime_VP2
2 3 0 200 200 3 0
3 2 40 600 560 2 40
4 1 400 560 160 1 400
5 3 840 1280 440 3 840
V7 V8
1 Reg_Endtime_VP2 Reg_Duration_VP2
2 200 200
3 600 560
4 560 160
5 1280 440
这是我的第一个stackoverflow请求,所以请不要对我苛刻:)期待您的输入,并在此先感谢您的时间和帮助! 弗洛里安
在进行了越来越多的研究之后,我想知道是否必须像这样构造数据? 因此,所有信息暂时都排成一排?
id diet exertype pulse time
1 1 1 1 85 1
2 1 1 1 85 2
3 1 1 1 88 3
4 2 1 1 90 1
5 2 1 1 92 2
6 2 1 1 93 3
7 3 1 1 97 1
8 3 1 1 97 2
9 3 1 1 94 3
10 4 1 1 80 1
11 4 1 1 82 2
12 4 1 1 83 3
13 5 1 1 91 1
14 5 1 1 92 2
15 5 1 1 91 3
16 6 2 1 83 1
17 6 2 1 83 2
18 6 2 1 84 3
19 7 2 1 87 1
20 7 2 1 88 2
21 7 2 1 90 3
22 8 2 1 92 1
23 8 2 1 94 2
...
好吧,我自己找到了答案。在科学中,通常将观察结果按行列出。 因此,我在最后一段中的建议引导了正确的方向;)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.