-
split:根据因子或因子列表将向量或其他对象分组。通常与lapply一起使用。 split(向量/列表/数据框,因子/因子列表) #根据因子列表的水平,即每个水平含有的元素个数,数据进行分组。(因子列表其实可以是$出来的) 对于lapply,可先对数据通过split进行分组,再在lapply中对每组数据运行函数。 可加入参数na.rm=TRUE使得计算不包含缺失值查看全部
-
tapply:对向量子集进行操作。根据因子列表,每个水平下的元素个数来对向量进行划分(比如有三个水平,每个水平有4个数,就是将向量分成3组,每组4个数),对每组运行函数。 tapply(向量,因子/因子列表,函数/函数名) 因子的创建可通过函数:因子名 <- gl(因子包含的水平数,每个水平下有多少个元素)查看全部
-
mapply:lapply的多远版本 mapply(函数/函数名,数据,函数相关的参数) #相当于多次运行这个函数 list(rep(1,4),rep(2,3),rep(3,2),rep(4,1))可简化为mapply(rep,1:4,4:1) 函数: 函数名 <- function(参数列表){ 函数体 }查看全部
-
apply:沿着数组的某一维度处理数据。 apply(数组,维度,函数/函数名),维度是选择哪个维度,可以是c() x为矩阵 行求和:rowSums(x) 行求平均:rowMeans(x) 列求和:colSums(x) 列求平均:colMeans(x) sum是求和 rnorm(num):随机从正态分布中取num个数据 quantile:求数据的百分位点,可通过probs=c()进行分配查看全部
-
处理循环:R中不仅有for/while循环语句,还有“一句话”函数。 排序 总结数据信息 lapply:可以循环处理列表中的每一个元素。 lapply(列表,函数/函数名,其他参数),总是返回一个列表。 lapply(x,mean) #对x中的元素求平均 lapply(x,runif) #从均匀分布的总体里抽取元素数值个0-1的随机数 lapply(x,runif,min=0,max=100) #抽取出大于0小于100的随机数 函数可以自定义 function(变量名) 操作。注意:传进来的参数是列表中的每个元素(是下一级的)。 sapply与lapply操作相同,但是是对lapply进行简化,结果列表元素长度均为1,返回numeric向量;结果列表元素长度相同且大于1,返回矩阵。 str() 输入函数,可返回函数的参数。查看全部
-
向量化操作:可以作用于向量、矩阵等结构,使得代码简介、易于阅读、效率高。 向量、矩阵之间的加减乘除是依次对应的元素之间做加减乘除。 矩阵之间要进行矩阵乘法:矩阵名1 %*% 矩阵名2 rep(num1,num2) #num1重复num2次查看全部
-
x[!is.na(x)] #返回不是缺失值的元素 complete.cases() #()内对应的都不是缺失值的才为TRUE,否则返回的向量中都为FALSE library(datasets) #得到R的数据集 head(数据集名称) #返回数据集前六列的数据 可通过g <- complete.cases(数据集名称)返回所有的结果 数据集名[g,][1:10,] #表示不含有缺失值的,所有变量都显示,显示第1到第10行,显示所有列查看全部
-
列表的子集: 可通过[],填写标号或名称,无法直接得到元素的内容,而是元素的名字和内容。 要想只得到元素的内容,要用[[]],或列表名$元素名。 想获得嵌套列表中的内容时,可通过[[]][[]]或者[[c()]]获得。 不完全匹配,列表名[["不完全元素名",exact=FALSE]] #关闭不完全匹配,只能唯一标识的查看全部
-
数据框的子集: 数据框名$列名[编号或c()] #获取数据框中的元素,或者用于矩阵相同的方法获取元素。 通过"数据框名$列名"来返回对应的向量。 which()返回的是判断语句中为真的对应的下标,而不用which()返回的是TRUE和FALSE的向量 subset(要构建子集的变量名,构建子集的条件) #可对应所有类型的数据查看全部
-
矩阵的子集: 提取矩阵中的值:矩阵名[行号,列号] 输出一整行:矩阵名[行号,] 输出一整列:矩阵名[,列号] 可通过c()来确定在某一行或列中要提取哪些元素。 以上返回的都是向量形式的,可通过:矩阵名[行号,列号,drop=FALSE] #返回矩阵类型查看全部
-
构建子集: 原始数据->预处理后的数据。原始数据通过预处理得到想要操作的数据。 向量的子集 基本方法: []:提取一个或多个类型相同的元素。类似于数组的操作,下标从1开始。[1:5]提取第1个到第5个元素。可在[]加上判定条件,如x[x>5],通过x>5返回每个元素与5比较大小后的真值,然后提取出x中为TRUE的元素。&并且,|或者。也可在[]输入元素对应的名字,注意名字要有""。 [[]]:从列表或数据框中提取元素 $:按名字从列表或数据框中提取元素 对于向量,直接用向量名加上判定条件,是对向量中的每个元素都进行判断,并返回每个元素对应的真值。查看全部
-
基础小结查看全部
-
日期与时间: -日期:Date,是距离19700101的天数 获取当前系统的时间:date() #是字符型 获得日期类型的数据:Sys.Date() #是Date类型 将字符串转变为Date类型:as.Date("yyyy-mm-dd") 获取星期:weekdays(Date类型变量名字) 获取月份:months(Date类型变量名字) 获取季度:quarters(Date类型变量名字) 获取距离1970-01-01的天数:julian(Date类型变量名字) Date类型之间可以进行运算,相减就是相差的天数,通过as.numeric()来转变为数值类型 -时间:POSIXct/POSIXlt,是距离19700101的秒数 POSIXct:整数,常用于存入数据框 POSIXlt:列表,还包含星期、年、月、日等信息 获取当前系统时间:Sys.time() #是POSIXct类型 通过names(unclass(POSIXlt类型变量名))获取存储的信息。通过"POSIXlt类型变量名$信息"获得,比如p$sec 时间的模式存储strptime 通过as.来进行变量类型转换查看全部
-
数据框:存储表格数据。视为各种元素长度相同的列表,每个元素代表一列数据,每个元素的长度代表行数,元素类型可以不同。相当于表格 创建数据框:数据框名字 <- data.frame(第一列内容id=c(1,2,3,4),第二列内容name=c(1,2,3,4),...,第n列内容) #列名和列的值 查看数据框行数:nrow(数据框名字) 查看数据框列数:ncol(数据框名字) 将数据框转换成矩阵:矩阵名字 <- data.matrix(数据框名字)查看全部
-
缺失值:NA和NaN NaN一般表示数字的缺失值,NA可以表示的缺失值类型更广,所以NaN属于NA,NA不属于NaN。 NA有类型属性:integer NA,character NA等 判断向量中是否有缺失值:is.na(向量名),is.nan(向量名),如果是缺失值返回TRUE,如果不是返回FALSE查看全部
举报
0/150
提交
取消