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
相关文章
相关标签/搜索