R語言基本命令,dataframe增刪改查

基本操做:數據結構

查詢變量類型(假設變量名是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
相關文章
相關標籤/搜索