R語言學習筆記 文件讀取和型別修改

2021-07-30 09:36:07 字數 1848 閱讀 3331

今天偶然看到乙個方法可以稍微提高下資料讀取和更改,在這裡把之前的笨方法和新方法一同記錄下。

首先,如果需要讀取文件,一般使用read.csv命令,而為了更好定位到文件位置,一般用choose.files(),比如我有乙個co2文件

choose.files()
顯示:

[1] "c:\\users\\yangyunru\\documents\\co2.csv"
然後直接讀取

read.csv("c:\\users\\yangyunru\\documents\\co2.csv",stringsasfactors = f)
一般習慣加上stringsasfactors = f 這段,不讓字串自動成為因子,因為會出現錯誤。

ok,到這比如針對一列的數字/字元進行因子轉化,這塊針對另乙個例子,因為co2這個資料集都是數字,沒有因子、

舉乙個arthritis資料集的例子,這個資料集在vcd包中。

library

(vcd)

str(arthritis)

看到這個資料集的結果是

'data.frame':   84 obs. of  5 variables:

$ id : int 57

4677

1736

2375

3933

55...

$ treatment: factor w/ 2 levels "placebo","treated": 222

2222

222...

$ *** : factor w/ 2 levels "female","male": 222

2222

222...

$ age : int 27

2930

3246

5859

5963

63...

$ improved : ord.factor w/ 3 levels "none"

<"some"

<..: 211

3331

311...

首先,這是個data.frame,然後有五個變數,分別為id/treatment/***/age/improved;看到id是整數(int),treatment、***是factor,age是整數,improved是有序因子;

ok,如果這時候我想要改變裡面所有的因子成為數值,可以用乙個笨方法:

arthritis1<-arthritis

arthritis1$treatment

<-as.numeric(arthritis1$treatment)

arthritis1$***

<-as.numeric(arthritis1$***)

arthritis1$improved

<-as.numeric(arthritis1$improved)

這邊是因子轉化為數字,一般來說,有個需要修改的數字就有幾行**,有點不夠簡潔。

下面用第二個稍微輕鬆的方法:transform函式

arthritis2<-transform(arthritis,

improved=as.numeric(improved),

***=as.numeric(***),

treatment=as.numeric(treatment)

)

一行**就搞定,其實也是三行。。。。

但是面對因子多的時候,還是覺得第二種方法更簡潔。

R語言學習筆記

1.資料輸入 read.table n fileposition 函式 eg.x read.table c users administrator desktop 1.txt header t 目前只知道可以完好地讀入txt檔案 空格隔開 excel不支援 csv讀入不完全。ps.可以用excel生...

R語言學習筆記

二 data.frame資料框的常用操作 三 讀取資料檔案 四 排序函式 sort,rank,order 的區別 mydata tid s1 s2 1 1 2 1 2 1 2 1 3 1 3 2 4 2 4 3 5 3 5 4 unique mydata tid s1 s2 1 1 2 1 3 1 ...

R語言學習筆記

r語言的特點 r網路資源 常用命令 安裝某個包 install.packages alr4 檢視函式用法 比如要實現t檢驗,可以輸入?t.test 然後重點看usage和example。也可以用help t.test lm函式名及所在包 fitting linear models標題 descrip...