-
x<-vector("元素类型","元素个数")
x1<-1:4
#包换4个元素的整型向量
x2<-c(1,2,3,4)
x3<-c(TRUE, 1, "a") 强制转换成chr
x4<-c("a","b","c")
as.numeric(x4) #把x4从chr强制转换成数值型,引入缺失值NA NA NA
as.logical()
as.charater()
class()
给向量添加名称:
names(x1)<-c("a","b","c","d")
a b c d
1 2 3 4
第一个元素名称是a,数值是1,第二个元素名称是b,数值是2.....
查看全部 -
> object.size(airquality) 5632 bytes > print(object.size(airquality),units = "Kb") 5.5 Kb
查看全部 -
数据框:
存储表格数据。视为各种元素长度相同的列表,每个元素代表一列数据,每个元素的长度代表行数,元素类型可以不同。相当于list。
创建数据框:数据框名字 <- data.frame(第一列内容id=c(1,2,3,4),第二列内容name=c(1,2,3,4),...,第n列内容) #列名和列的值
查看数据框行数:nrow(数据框名字)
查看数据框列数:ncol(数据框名字)
将数据框转换成矩阵:矩阵名字 <- data.matrix(数据框名字)
查看全部 -
2.5 factor(因子)
--分类数据/有序(e.g. 低中高) vs 无序(e.g. 男女)
--整数向量+标签(label)
male/female vs 1/2
创建因子
x<-factor(c("female","female","male","male","female"))
y<-factor(c("female","female","male","male","female"),levels =c("male","female")) levels代表基线水平,谁在前,谁就是那个基线水平。统计分析中基线水平很重要。
table(x) 了解整体
unclass(x) 去掉属性看内容
因为可以把因子当成整型变量加上一个属性
class(unclass(x))
整型
因子factor:可以理解为整数向量+标签(label)(优于整数向量,每个数字有自己具体的含义)。
查看全部 -
处理循环:R中不仅有for/while循环语句,还有“一句话”函数。
排序
总结数据信息
lapply:可以循环处理列表中的每一个元素。
lapply(列表,函数/函数名,其他参数),返回值总是一个列表。
lapply(x,mean) #对x中的元素求平均,若x不是列表,会被强制转换为列表
lapply(x,runif) #从均匀分布的总体里抽取元素数值个0-1的随机数
lapply(x,runif,min=0,max=100) #抽取出大于0小于100的随机数 min、max作为runif的参数传入
函数可以自定义,即匿名函数形式: function(参数) 操作
注意:传进来的参数是列表中的每个元素(是下一级的)。
sapply与lapply操作相同,但是是对lapply进行简化,若结果列表中元素个数均为1,返回numeric向量;若结果列表元素个数相同且大于1,返回矩阵。
str()参数为R对象,将其以一种整洁紧凑的形式显示出来。可以用来函数对象需要哪些参数
查看全部 -
列表的子集:
可通过[],填写标号或名称,无法直接得到元素的内容,而是元素的名字和内容。
要想只得到元素的内容,可以用[[]]或列表名$元素名。
想获得嵌套列表中的内容时,可通过[[]][[]]或者[[c()]]获得。
不完全匹配:列表名[["不完全元素名",exact=FALSE]]或者直接$不完全元素名 #关闭不完全匹配,只能唯一标识的
查看全部 -
2.5 factor(因子)
--分类数据/有序 vs 无序
--整数向量+标签(label)
创建因子
x<-factor(c("female","female","male","male","female"))
y<-factor(c("female","female","male","male","female"),levels =c("male","female")) levels代表基线水品
table(x)
unclass(x) 去掉属性看内容
class(unclass(x)) 整型
因子factor:可以理解为整数向量+标签(label)(优于整数向量,每个数字有自己具体的含义)。
查看全部 -
列表(list): 1.列表与向量的差别:列表可以同时包含不同类型的对象 2. l <- list("a", 2, 10L, 3+4i, TRUE)#建立列表 l2 <- list(a=1 ,b=2 ,c=3)#为列表元素命名 l3 <- list(c(1,2,3),c(4,5,6,7))#列表元素可以是向量,创建元素个数大于1 x <- matrix(1:6, nrow=2, ncol=3) dimnames(x) <- list(c("a","b"),c("c","d","e"))#为矩阵维度(行、列)命名
查看全部 -
构建子集——列表的子集查看全部
-
对R的数据结构进行小结 5种数据结构 向量(vector) 矩阵(matrix) 数组(array) 列表(list) 因子(factor) 数据框(data frame)查看全部
-
apply查看全部
-
数据结构小结查看全部
-
tapply - 对向量的子集进行操作 - tapply(向量,因子/因子列表/,函数名) x <-c(rnorm(5),runif(5),rnorm(5,1)) f <- gl(3,5) -> 创建因子 tapply(x,f,mean,simplify = FALSE)查看全部
-
mapply - lapply的多元版本 - mapply(函数名,数据,函数相关参数) - mapply(rep,1:4,4:1) -> 1-4组,每组重复多少次 - s <- function(n,mean,std){ rnorm(n,mean,std) } mapply(s,1:5,5:1,2) ->1:5为元素个数;数据来自均值为5,标准差为2的数据 & 均值为4,标准差为2的数据 &。。&。。&均值为1,标准差为2的数据查看全部
-
缺失值处理 - 判断缺失值:is.na(x) - 取出向量中非缺失值元素:y[!is.na(x)] - 取出多个向量中的缺失值:z <- complete.cases(x,y) x[z] ; y[z] - 利用数据集实践 library(datasets) - 包含airquality集 - 查看前六行数据 head(airquality) - g <- complete.cases(airquality) - 不包含缺失值的结果:airquality[g,]查看全部
举报