-
子集 - 向量化操作(vectorized operation) - 用于向量、矩阵等结构,是的代码简洁,易于阅读、增高效率 - + - * / - 矩阵乘: %*%查看全部
-
缺失值处理 - 判断缺失值: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,]查看全部
-
列表子集 - [[下表/"名称"]]/$名称/[[]] []/ [[]] [[]] - 列表只用一个方括号提出元素名称+元素;若想只提取元素,需要双括号 -嵌套列表 -> 列表元素中列表的内容 x[[1]][[2]] OR x[[c(1,3)]] -不完全匹配 -> l$x1 OR x[[x1,exact = FALSE]]查看全部
-
lapply查看全部
-
数据框子集: $:按名字从列表或数据框中提取元素 x <- data.frame(v1=1:5,v2=6:10,v3=11:15) 给v3中的第二、四数据赋值: x$v3[c(2,4)] <- NA which:给出哪些条件为真,返回向量中元素值为真的下标 which(x$v1>2) subset(母集,构建子集的条件) subset(x,x$v1>2))查看全部
-
矩阵子集 -> 指明要取出哪行哪列的数据 x[row,column]; 取出第二行第一个和第三个量: x[2,c(1,3)]; 若想返回矩阵而非单个向量,“drop = FALSE”: x[1,2,drop = FALSE]查看全部
-
操纵数据 - 构建子集 基本方法: 1. []:提取一个或多个类型相同的元素 x <- 1:10 x[想拿到的元素下标(从1开始)] -> 例如第一个元素:x[1];前五个元素 x[1:5];判定条件 x[x>5];按名字提取 x["Name"] 2. [[]]:从列表或数据框中提取元素 3. $:按名字从列表或数据框中提取元素查看全部
-
z <-complete.case(data)##返回逻辑值 data <- data[z,]查看全部
-
数据结构之 日期与时间(Date & Time) - 日期Date:存储为当前时间距离1970年1月1日的天数 - x <- date()类型为character/Sys.date()类型为date - y <- as.Date("年-月-日") - weekdays(x)/months(x)/quarters(x)/Julian(x)距离1970年1月1日的天数 - 日期间可以进行运算 y-x OR as.numeric(y-x) 时间 POSIXct/POSIXlt:距离1970年1月1日的秒数 Sys.time() - POSIXct:整数,常用语存入数据框 - POSIXlt:列表,还包含星期、年、月、日等信息 - x <- Sys.time() p <- as.POSIXlt(x) & as.POSIXct(p) p$sec 有多少秒 - 转换类型 x1 <- "Jan 1, 2016 01:01" strptime(x1,howtosavethedate)=>strptime(x1,"%B %d, %Y %H:%M")查看全部
-
数据结构之 数据框(data frame) - 存储表格数据(tabular data) - 视为各元素长度相同的列表:每个元素代表一列数据;每个元素的长度代表行数;元素类型可以不同 - df <- data.frame(1stColumnContent,2ndColumnContent,.......) nrow(df) ncol(df) - 当数据框中元素类型相同时,可以将数据框转换为矩阵 data.matrix(df) 矩阵约等同于元素类型相同的数据框查看全部
-
数据结构之 缺失值 Missing Value - NA:表示多类型的缺失值,有类型属性,例如 integer NA,不属于NaN. is.na() - NaN:表示数字的缺失值,属于NA. is.nan()查看全部
-
数据结构之 因子(Factor) - 分类数据:有序(可以比较) vs 无序(无法比较) - 整数向量+标签(label) eg: Male =1 Female =2 常用于lm() & glm() - x <- factor(c("female","female","male",“male","female")) y <- factor(content,levels=(基线水平,其他水平)) table(x) 了解现有因子水平查看全部
-
数据结构之 列表(List) - 可以包含不同类型的对象 - l <- list() - l2 <- list(a=1,b=2,c=3) [命名] - l3 <- list(c(1,2,3),c(4,5,6,7)) - dimenames(x) <- list(c("a","b"),c("e","d","f"))查看全部
-
数据结构之 矩阵(matrix) - 向量+维度属性(整数向量:nrow,ncolumn) - x <- matrix(matrixContent,nrow = number,ncol=number) eg x <- matrix(1:6,nrow=3,ncol=2) 矩阵先按列填充,故结果 [,1][,2] [1,] 1 4 [2,] 2 5 [3,] 3 6 OR y <- 1:6 Vector dim(y) <- c(rows,columns) - 维度属性:dim(x) - 有多少属性:attributes(x) - 矩阵拼接:以行拼接 => rbind(x,x1); 以列拼接 => cbind(x,x1) 数据结构之 数组(array) - 与矩阵类似,但是维度可以大于2 - x <- array(ArrayContent,Dimension) eg: x <- array(1:24,dim = c(2,3,4)) [有4个两行三列的矩阵]查看全部
-
注释 #Comments 数据结构之 向量(Vector) - 只能包含同一类型(多个数据)的对象 x <- vector("datatype",dataLength) eg: x <- vector("character",length = 10) OR y <- 1:4 [1,2,3,4] OR z <-c(1,2,3,4) 若输入数据类型不一致,将强行转换为同一类型(内隐式转换);若想自己强制转换类型,as.numeric/as.integer/as.logical/as.character 等等 给对象添加名称:names(Object) <- Name eg names(x1) <- c("a","b","c","d")查看全部
举报
0/150
提交
取消