R語言讀取Excel檔案的一系列陷阱

2021-08-23 12:43:53 字數 1951 閱讀 6428

你想用r讀取乙個excel檔案,你覺得這事沒啥難的,就像所有的檔案讀取,只需要知道檔名就萬事大吉了。 於是,你把1.xls放到讀取.r的資料夾下面,重新命名為1.csv,開啟rstudio,執行下面這條語句

a
出現了下面的報錯

error in file(file, "rt") : cannot open the connection

in addition: warning message:

in file(file, "rt") : cannot open file '1.csv': no such file or directory

很顯然,檔案並不在當前的路徑中,那當前的路徑是什麼呢?

接下來,執行獲取當前工作路徑的語句

> getwd()

[1] "c:/users/13371/documents"

這應該是rstudio預設的工作路徑了,那麼,如何才能將工作路徑更改為檔案所在的路徑呢?乙個顯而易見的方法是使用setwd(···)或者是在選單中手動設定,但這樣很麻煩,而且每次開啟都要來一次,經過不懈查詢,你終於找到了解決方案。

script.dir 

setwd(script.dir)

但是如果檔案在乙個很遠的地方,那該怎麼辦呢?

# 這樣就可以自己選擇檔案了

b

按下run執行,咦,怎麼又彈出了這個你看都看不懂的報錯呢?

> script.dir 

error in dirname(parent.frame(2)$ofile) :

a character vector argument expected

經過一番嘗試才知道,必須要使用source模式一次性執行完才可以,而這其中緣由你還是不太明白,希望有大佬可以指點迷津。

那,總可以執行了吧,還是不行,會報這樣的錯誤。

> a 

error in make.names(col.names, unique = true) :

invalid multibyte string 1

in addition: warning message:

in read.table(file = file, header = header, sep = sep, quote = quote, :

incomplete final line found by readtableheader on '1.csv'

這是說csv的格式不符合要求,這是因為簡單粗暴地改副檔名並不能得到乙個正確的編碼。你需要規規矩矩地用excel表開啟,並且在另存為裡面的檔案格式下面勾選下圖所示的標準。

第一次執行時會報這樣的錯誤,但你什麼也不需要做,再來一次,什麼都不會發生。

warning messages:

1: in grepl("|||", what, fixed = true) :

input string 1 is invalid in this locale

2: in grepl("|||", what, fixed = true) :

input string 1 is invalid in this locale

這樣就沒有任何問題了,隨隨便便求某一列的均值方差:

> mean(a$x5.您的年齡是)

[1] 4.617391

> sd(a$x5.您的年齡是)

[1] 0.7560587

R讀取excel檔案

一 使用軟體包xlsreadwrite library xlsreadwrite data read.xls choose.files d r rscript mydm wang2.xls 二 使用軟體包xlconnect library xlconnectjars library xlconnec...

R語言讀取檔案

本文的主要內容是讀取檔案內容,並且將檔案中的所有內容沒咧放在乙個物件當中,以便之後進行操作,樣本資料如下 kernel coorauthor num 鄭稱德 丁俊武 1 鄭稱德 韓玉啟 2 鄭稱德 周梅 3 丁俊武 韓玉啟 4 丁俊武 鄭稱德 4 丁俊武 周梅 4 丁俊武 仇成 43 丁俊武 馮俊文...

R語言 讀取excel的perl問題

剛給朋友實驗讀取excel檔案出錯了,我的電腦卻沒有問題。報的錯誤是 error in findperl verbose verbose perl executable not found.use perl argument to specify the correct path.error in ...