因此,我使用read.csv從我的csv中提取了我的數據,並且工作正常。 代碼:R:使用csv運行lm()時係數重複的問題
techdata <- read.csv("/user/path", header = TRUE, sep = ",", stringsAsFactors = FALSE)
我已經檢查數據作爲R輸出,它是正確的格式,似乎罰款。
但是當我運行
techFit <- lm(techdata$reordered_in_next_30_days ~techdata$work_order_frequency)
summary(techFit)
我得到這個
Call:
lm(formula = techdata$reordered_in_next_30_days ~ techdata$work_order_frequency)
Residuals:
Min 1Q Median 3Q Max
-5.416 -0.886 -0.283 0.372 94.531
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.46871 0.03142 78.581 < 2e-16 ***
techdata$work_order_frequency1 2.94734 0.08425 34.985 < 2e-16 ***
techdata$work_order_frequency10 -0.80860 0.07465 -10.832 < 2e-16 ***
techdata$work_order_frequency100 -2.43363 0.36315 -6.702 2.08e-11 ***
techdata$work_order_frequency101 -2.26871 0.34024 -6.668 2.61e-11 ***
techdata$work_order_frequency102 -2.36591 0.26592 -8.897 < 2e-16 ***
techdata$work_order_frequency103 -2.21871 0.48387 -4.585 4.54e-06 ***
....
techdata$work_order_frequencyNULL -2.46871 0.05592 -44.151 < 2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 2.731 on 72500 degrees of freedom
Multiple R-squared: 0.141, Adjusted R-squared: 0.1378
F-statistic: 44.07 on 270 and 72500 DF, p-value: < 2.2e-16
應該只有1 「techdata $ work_order_frequency」,但最終被100。
這是向上真的讓我很難解釋數據正在發生什麼,並希望更好地理解爲什麼會發生這種情況。
你可以輸入()你的數據嗎? – mkt