基本操做:數據結構
查詢變量類型(假設變量名是a)app
class(a)
在R語言中:函數
T 表明--> True
F 表明--> Falsescala
與、或運算符code
讀取:ci
讀取csv文件到dataframe(字符串不看成factor類型來處理,csv的na不做處理,不當成NaN對待,原封不動字符串)字符串
df1 <- read.csv("", stringsAsFactors=F, na.strings = NULL)
讀取系統庫內數據string
df1 <- iris
選取行(與通常語言不一樣,R語言第一行是從序號1開始,而不是序號0):io
df1[1:4,]
選取列(假設選取二、三、4列)function
df1[,2:4]
按照列名選取
df1[1:3,c("Sepal.Length", "Sepal.Width")]
把相應條件的列選取出來:
df1[df1$Sepal.Length > 7, ] df1[df1$Sepal.Length > 7 & df1$Sepal.Width < 3, ]
對某列數據結構轉換:
df1$Species = as.character(df1$Species) # 若是不對字符串列進行轉換,或者讀取csv的時候字符串讀成了factor,會報warning # Warning message: # In `[<-.factor`(`*tmp*`, ri, value = "adsf") : 因子層次有錯,產生了NA
條件查找並遍歷:
for (i in which(df$Sepal.Length > 7)){ print(df[i,]) }
對行或列進行apply操做:
1是行,2是列 apply(df, 1, function(x){x} )
對df進行groupby操做,並對每一個group應用函數:
by(df, list(df$Species), FUN=function(x){ # do something })
應用包library(dplyr)後的功能:
要重命名列的話
df1 <- rename(df1, tmp_new=col_old)
建立新列:
df %>% mutate(tmp="tmp") mutate(df, tmp="tmp")
join操做:(兩個df有不同的列時,by部分能夠填寫=表達式。最後剩下左邊這一列)
left_join(df1, df2, by=c("dfcol1"="dfcol2", "dfs.sef", "wef.wef"))
lapply操做(對list的apply操做,例如查看列名和類型)
ll <- lapply(df, class) for(i in ll){ print(i) }
技巧性特殊操做:
c("a", "b", "c") %in% c("a", "b") [1] TRUE TRUE FALSE