R 在使用 .csv檔 的一般問題

在 import .csv資料 時:

R指令: > exprs<-read.csv("3-r.csv", header=T, sep=",")
出現 Error in read.table(file = file, header = header, sep = sep, quote = quote, : more columns than column names,

這是字元逃逸,
先用 excel 打開該.csv檔,
檢查內容是否正確,
若正確再另存新檔為.csv,
之後在關閉檔案時問是否儲存時按 否 即可。
之後再讀這個新的.csv檔就好了。

在 plot 一個 scatter plot 時:

R指令: > plot(exprs1[2],exprs1[3])
出現 Error in stripchart.default(x1, ...) : invalid plotting method

和在做 regression 時:

R指令: > lm(exprs1[2]~exprs1[3])
出現 Error in model.frame.default(formula = exprs1[2] ~ exprs1[3], drop.unused.levels = TRUE) :
invalid type (list) for variable 'exprs1[2]'

這都是因為 exprs1[1] 是一個一階陣列(x=1,y=n), 不是 data frame, 不符合條件,

解決方法是:

(在 plot 一個 scatter plot 時) R指令: > plot(data.frame(exprs1[17],exprs1[7]))

(在做 regression 時) R指令:
> e8<-exprs1[,'學校']
> e7<-exprs1[,'總價元']
> lm(e7~e8)

以上做法都是把資料存到 data frame 中, 符合條件。

P.S.
一階陣列(x=1,y=n):
1 13880000
2 11000000
3 27560000
4 23000000
5 21000000
6 21410000
7 31350000
8 12800000
9 48880000
10 9600000
11 23300000
12 32830000
13 15300000
14 57500000
15 13200000
16 9000000
17 9700000
18 14000000

data frame:
[1] 13880000 11000000 27560000 23000000 21000000 21410000 31350000 12800000
[9] 48880000 9600000 23300000 32830000 15300000 57500000 13200000 9000000

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章