2014-12-02 25 views
0

跟進一個分析,我got a lot of help on previously,我試着今天重新運行一個腳本,並得到路障。不知道是否有更新的東西爆炸或什麼。我試圖根據分層結構中的數據點獲得斜率。最終的結果是一樣的東西:lml,dplyr和摘要 - 我有什麼東西嗎?

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

是否有一個快速修復這個?我覺得我錯過了一些非常簡單的事情,考慮到經典案例「以前工作得很好,但現在它不會」-itis。

回答

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