【R語言學習筆記】文件讀取和型別修改
今天偶然看到一個方法可以稍微提高下資料讀取和更改,在這裡把之前的笨方法和新方法一同記錄下。
首先,如果需要讀取文件,一般使用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 46 77 17 36 23 75 39 33 55 ...
$ Treatment: Factor w/ 2 levels "Placebo","Treated": 2 2 2 2 2 2 2 2 2 2 ...
$ Sex : Factor w/ 2 levels "Female","Male": 2 2 2 2 2 2 2 2 2 2 ...
$ Age : int 27 29 30 32 46 58 59 59 63 63 ...
$ Improved : Ord.factor w/ 3 levels "None"<"Some"<..: 2 1 1 3 3 3 1 3 1 1 ...
首先,這是個data.frame,然後有五個變數,分別為ID/Treatment/SEX/Age/Improved;看到ID是整數(int),Treatment、Sex是Factor,Age是整數,Improved是有序因子;
OK,如果這時候我想要改變裡面所有的因子成為數值,可以用一個笨方法:
Arthritis1<-Arthritis
Arthritis1$Treatment<-as.numeric(Arthritis1$Treatment)
Arthritis1$Sex<-as.numeric(Arthritis1$Sex)
Arthritis1$Improved<-as.numeric(Arthritis1$Improved)
這邊是因子轉化為數字,一般來說,有個需要修改的數字就有幾行程式碼,有點不夠簡潔。
下面用第二個稍微輕鬆的方法:transform函式
Arthritis2<-transform(Arthritis,
Improved=as.numeric(Improved),
Sex=as.numeric(Sex),
Treatment=as.numeric(Treatment)
)
一行程式碼就搞定,其實也是三行。。。。
但是面對因子多的時候,還是覺得第二種方法更簡潔。
相關文章
- go語言學習筆記(一):*和&的區別Go筆記
- R語言data manipulation學習筆記之subset dataR語言筆記
- 《Go 語言程式設計》讀書筆記 (一)基礎型別和複合型別Go程式設計筆記型別
- C語言筆記——自定義型別C語言筆記型別
- Solidity語言學習筆記————10、布林型、整型Solid筆記
- Go語言核心36講(導讀)--學習筆記Go筆記
- C 語言學習筆記筆記
- C語言學習筆記C語言筆記
- Solidity語言學習筆記————42、提示和技巧Solid筆記
- R語言 - 讀取CSV檔案報錯R語言
- Solidity語言學習筆記————25、作用域和宣告Solid筆記
- Solidity語言學習筆記————18、字串和函式Solid筆記字串函式
- 【R資料科學讀書筆記】R語言中的管道操作資料科學筆記R語言
- python和r語言的區別PythonR語言
- Go型別特性-學習筆記Go型別筆記
- Solidity語言學習筆記————1、初識Solidity語言Solid筆記
- Solidity語言學習筆記————36、 庫Solid筆記
- Solidity語言學習筆記————37、Using forSolid筆記
- Solidity語言學習筆記————4、常量Solid筆記
- 《JavaScript語言精粹》學習筆記一JavaScript筆記
- 《JavaScript語言精粹》學習筆記二JavaScript筆記
- 熱更新語言--lua學習筆記筆記
- c語言學習筆記===函式C語言筆記函式
- C程式設計語言讀書筆記:型別運算子與表示式C程式程式設計筆記型別
- Solidity語言學習筆記————35、抽象合約和介面Solid筆記抽象
- Solidity語言學習筆記————26、Assert, Require, Revert 和 ExceptionsSolid筆記UIException
- Solidity語言學習筆記————22、可見性和GettersSolid筆記
- R語言的初級學習R語言
- TS學習筆記(一):基本型別筆記型別
- Python 學習筆記——資料型別Python筆記資料型別
- Go語言學習(4) - 基本資料型別Go資料型別
- GO語言學習——基本資料型別字串Go資料型別字串
- Go語言學習筆記(七)之方法Go筆記
- Solidity語言學習筆記————33、事件(Events)Solid筆記事件
- Solidity語言學習筆記————12、陣列Solid筆記陣列
- Solidity語言學習筆記————34、繼承Solid筆記繼承
- 初識C語言(01)—學習筆記C語言筆記
- C語言學習筆記——位運算C語言筆記
- C語言學習筆記--C運算子C語言筆記