对我got a lot of help on previously的分析进行了跟踪,我今天尝试重新运行脚本并遇到了障碍。不确定是否有更新的东西爆炸或什么。我试图根据分层类型结构中的数据点获得斜率。最终结果如下:
Var1 Var2 Var3 Max Min Var Avg_Temp Count Pearson Slope
X2 X2 X6 156 7 149 28 51 -0.049 -0.111
X1 X2 X6 84 1 83 24 51 -0.345 -0.532
X1 X2 X7 184 8 176 33 45 -0.236 -0.825
X1 X4 X7 193 10 183 32 44 -0.131 -0.487
X1 X2 X5 33 4 29 21 34 -0.343 -0.251
X1 X1 X5 51 10 41 23 21 -0.088 -0.091
X1 X4 X6 62 7 54 23 20 0.045 0.070
X3 X2 X6 61 18 43 31 18 -0.345 -0.491
我过去常常使用的原始数据是:http://pastebin.com/pGyeCFpH
我从上一个帖子得到的反馈是有教育意义的,但我认为我的例子让问题更加复杂。无论如何,我开始工作的剧本是:
library(dplyr)
data <- read.table("clipboard",sep="\t",quote="",header=T)
newdata = summarise(group_by(data
,Var1
,Var2
,Var3
)
,Max = max(Temp)
,Min = min(Temp)
,Var = max(Temp) - min(Temp)
,Avg_Temp = mean(Temp)
,Count = length(Temp)
,Slope = summary(lm(Temp ~ Time))$coeff[2]
,Pearson = cor(Time, Temp, method="pearson")
)
sortNewdata <- newdata3[order(-newdata3$Count),]
row.names(sortNewdata)<-NULL
除了上面的斜率函数外,所有工作都可以。在脚本工作之前,我只是尝试了一个Slope = lm()
,但似乎R无法解析数据变量中的列名。所以我放了summary(lm())
,这给了我正在寻找的斜坡。我想在更新R之后(我有一段时间没有重新访问过这个脚本),有些东西突然发现它返回的错误比以前更多:
Error in terms.formula(formula, data = data) :
invalid term in model formula
有快速解决方法吗?我觉得我错过了一些非常简单的事情,因为经典的案例是“以前它有效,但现在却没有” - 这就是<?p>
答案 0 :(得分:1)
您可以使用do()
创建线性模型,然后将其结果系数连接到其他汇总数据。不确定它是否是最佳的,但它没有问题。
grouped <- group_by(data, Var1, Var2, Var3)
slopes <- do(grouped, data.frame(Slope = coef(lm(Temp ~ Time, data = .))[2]))
summs <- summarise(grouped,
Max = max(Temp), Min = min(Temp), Var = Max - Min,
Avg_Temp = mean(Temp), Count = n(), Pearson = cor(Time, Temp)
)
merge(summs, slopes)
导致
# Var1 Var2 Var3 Max Min Var Avg_Temp Count Pearson Slope
# 1 X1 X1 X5 51.00152 9.595917 41.40560 22.66220 21 -0.08758313 -1.056267e-06
# 2 X1 X2 X5 32.96245 4.418733 28.54372 20.76607 34 -0.34291318 -2.900211e-06
# 3 X1 X2 X6 83.84625 1.078367 82.76788 23.74742 51 -0.34503598 -6.161756e-06
# 4 X1 X2 X7 184.30873 8.100817 176.20792 32.74564 45 -0.23631853 -9.545033e-06
# 5 X1 X4 X6 61.81107 7.389317 54.42175 22.76066 20 0.04487301 8.112494e-07
# 6 X1 X4 X7 193.37610 10.083400 183.29270 31.65270 44 -0.13108727 -5.636889e-06
# 7 X2 X2 X6 156.28450 7.483550 148.80095 27.64104 51 -0.04885709 -1.282404e-06
# 8 X3 X2 X6 61.02207 17.930583 43.09148 30.84206 18 -0.34453158 -5.681171e-06