R語言對資料的部分操作
1、R語言定義:
【百度百科】R是用於統計分析、繪圖的語言和操作環境。R是屬於GNU系統的一個自由、免費、原始碼開放的軟體,它是一個用於統計計算和統計製圖的優秀工具。
2、讀資料:
data <- read.csv("檔名.csv",header=T,check.names=FALSE)
讀入的而檔案存在data.frame(資料框裡面)
注意:此時資料框裡面資料的型別可能是任意型別,可以用str(data)檢視資料框的各個屬性情況
3、資料處理:
資料型別屬性:返回值為true或false
is.numeric() 是否數值型資料
is.character() 是否字元型資料
is.vector() 是否向量資料
is.matrix() 是否矩陣資料
is.data.frame() 是否資料框資料
is.factor() 是否因子資料
is.logical() 是否邏輯型資料
屬性型別轉換:返回相應的型別
as.numeric() 轉化為數值型別
as.character() 轉化為字元(字串)型別
as.vector() 轉化為向量型別
as.matrix() 轉化為矩陣
as.data.frame() 轉化為資料框
as.factor() 轉化為因子
as.logical() 轉化為邏輯
4、資料篩選:
直接選擇某行某列,和矩陣一樣:data[row1:row2,col1:col2] / data[ , ]
用which 語句 : data[[which(條件)],] ,如 data[which(data$name %in% MAP),](有時當條件值有幾個重複資料的時候,只能選出出現的第一個資料,例如,data.frame中name “sun”對應的資料出現多次{}sun ming,sun zhe ,sun hhh},但是以“sun”作為篩選條件時,只能篩選出“sun ming”)
用sql語句:library(sqldf);res<-sqldf(" select * from data where 條件")
對於出現的篩選條件重複的情況下,可以採用filter():library(dplyr);res<- filter(data, 屬性==條件)
as.numeric() 轉化為數值型別
as.character() 轉化為字元(字串)型別
as.vector() 轉化為向量型別
as.matrix() 轉化為矩陣
as.data.frame() 轉化為資料框
as.factor() 轉化為因子
as.logical() 轉化為邏輯