看板 R_Language 關於我們 聯絡資訊
目前想學習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)是能成功的 煩請各位解惑 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.117.176.170 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1504114085.A.EE5.html
locka: 把參數col_types=c(…)改成col_types="numeric"試試看08/31 03:45
L大這樣就無法將excel匯入了 ※ 編輯: scts1215 (101.10.2.211), 08/31/2017 09:28:57
f496328mm: 資料匯進來後轉型態?08/31 09:55
f496328mm: http://imgur.com/4yLSLzi08/31 10:00
f496328mm: 一般來說 用 csv 比較好08/31 10:01
f496328mm: 然後你是 data.frame 所以要 test$age08/31 10:02
F大我使用as.numeric成功了,不過若我有兩個以上的變項可以同時看他們的平均值或標 準差嗎? ※ 編輯: scts1215 (117.19.148.245), 08/31/2017 11:01:18
f496328mm: 想要同時就用 summary 可以看一些基本的統計值08/31 11:13
f496328mm: 例如 summary(test) 不過沒有 sd 就是了08/31 11:13
f496328mm: apply(test,2,sd) apply(test,2,mean)08/31 11:15
f496328mm: 這兩個應該是你要的08/31 11:15
感謝F大 ※ 編輯: scts1215 (101.13.145.84), 08/31/2017 13:10:19
Wush978: 你對於R語言物件的型態不太清楚,建議找一些入門教材參考08/31 19:39
Wush978: 否則你以後會一直遇到類似的問題08/31 19:39
W大我目前跟著教材練習,只是我直接用excel做匯入遇到此問題,大大有建議的教材嗎? ※ 編輯: scts1215 (117.19.64.5), 08/31/2017 20:31:09
jackyu777: 推R語言翻轉教室08/31 23:49
clsmbstu: 我想用scan會成功是因為scan跟read_excel給你的資料型態 09/01 00:09
clsmbstu: 不同。scan給你的是一串值(vector),read_excel給你的 09/01 00:11
clsmbstu: 是一張表(data frame,只是只有一行)。求一串值的平均09/01 00:11
clsmbstu: 很合理,但是求一張表的平均對電腦來說就有點一頭霧水了09/01 00:12
clsmbstu: 。這也是為什麼R會回報那些錯誤或警告訊息給你的原因。 09/01 00:13
原來如此,感謝大大講解 ※ 編輯: scts1215 (101.12.225.254), 09/01/2017 09:23:42