[問題] excel無法計算變項

作者: scts1215 (Shawn)   2017-08-31 01:28:02
目前想學習R
剛試用卻遇到困難
自己做了一個excel如下
檔名為test
age
52
46
20
25
26
60
35
25
36
68
42
匯入到Rstudio的語法為:
> library(readxl)
> test <- read_excel("~/R/test.xlsx", col_types = c("numeric"))
但我輸入平均值 mean(test)
卻出現這樣的訊息 Warning message:
In mean.default(test) : argument is not numeric or logical: returning NA
再輸入標準差 sd(test)
出現Error in is.data.frame(x) :
(list) object cannot be coerced to type 'double'
平均值的部分我有使用colmeans有成功,
但我疑問是若使用scan()自行輸入資料跑mean(test)和sd(test)是能成功的
煩請各位解惑
謝謝
作者: locka (locka)   2017-08-31 03:45:00
把參數col_types=c(…)改成col_types="numeric"試試看
作者: f496328mm (為什麼會流淚)   2017-08-31 09:55:00
資料匯進來後轉型態?http://imgur.com/4yLSLzi一般來說 用 csv 比較好然後你是 data.frame 所以要 test$age想要同時就用 summary 可以看一些基本的統計值例如 summary(test) 不過沒有 sd 就是了apply(test,2,sd) apply(test,2,mean)這兩個應該是你要的
作者: Wush978 (拒看低質媒體)   2017-08-31 19:39:00
你對於R語言物件的型態不太清楚,建議找一些入門教材參考否則你以後會一直遇到類似的問題
作者: jackyu777 (依德爾特)   2017-08-31 23:49:00
推R語言翻轉教室
作者: clsmbstu   2017-09-01 00:09:00
我想用scan會成功是因為scan跟read_excel給你的資料型態不同。scan給你的是一串值(vector),read_excel給你的是一張表(data frame,只是只有一行)。求一串值的平均很合理,但是求一張表的平均對電腦來說就有點一頭霧水了。這也是為什麼R會回報那些錯誤或警告訊息給你的原因。

Links booklink

Contact Us: admin [ a t ] ucptt.com