1. 程式人生 > >R語言對資料的部分操作

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()            轉化為邏輯