-
列表的子集
x <- list(id=1:4,height=170,gender="male") #创建列表
x[1] #输出id和1234
x[[1]] #输出1234
x[["id"]] #输出1234
x$id #输出1234
x[c(1,3)] #输出第1和第3两个元素
x$名字 #不能 引用名字的变量
获取嵌套列表中列表的内容:
x[[i]][[j]]
x[[c(i,j)]]
列表的不完全匹配
l <- list(asdfghj = 1:10)
# l$asdfghj 与 l$a的结果相同那个
x[["a",exact = FALSE]] #关闭精确匹配,输出结果与上相同
查看全部 -
3-4列表的子集
查看全部 -
3-4列表的子集
查看全部 -
数据框的子集
x <- data.frame(v1=1:5,v2=6:10,v3=11:15) #构造数据框
x$v3[c(2,4)] <- NA #使v3的第2.4两位元素定义成缺失值
#数据框可以通过名称索引元素
x[(x$v1<4 & x$v2>=8),] 输出同时满足两个条件的行
?which #查看which函数有什么功能
which(x$v1>2) #输出满足条件的下标
x$v1>2 #输出x的逻辑向量
subset(x,条件) #构件子集的函数,x可为数据框、矩阵等
查看全部 -
矩阵的子集
创建矩阵后可以通过矩阵名进行元素的提取
x[2,c(1,3)] #提取矩阵x的第二行的第一和第三 两个元素
x[1,2,drop = FALSE] #将所得元素以矩阵的类型返回
查看全部 -
矩阵的子集
x<-matrix(1:12,3,4)#形成三行四列的矩阵 x[1,]#取出第一行元素 x[,1]#取出第一列元素 x[2,c(2,4)]#取出矩阵中的第2行的第2列和第4列元素 x[2,c(2:4)]#取出矩阵中的第2行的2-4个元素 class(x[1,2])#查看输出的数据类型(返回向量) x[1,2,drop=FALSE]#关掉输出的向量(integer)形式而转变为矩阵(matrix)形式
查看全部 -
构件子集基本方法:
[]:提取一个或多个类型相同的元素
[[]]:从列表或数据框中提取元素
$:按名字从列表或数据框中提取元素
#与C和python不同的是,R的下标从‘1’开始
#可以通过向量名称来索引与之对应的向量
查看全部 -
日期和时间
x <- date() #获取当前本机时间
x2 <- sys.date() #获取当前本机时间的年月日
x3 <- as.Date("2015-01-01") #定义Date型日期
时间:POSIXct/POSIXlt
x <- Sys.time() #获得本机时间 class(x) —"POSIXct" "POSIXt"
p <- as.POSIXlt(x) 转换类型 class(p) —“POSIXlt”“POSIXt”
names(unclass(p)) #查看p中存在哪些变量
p$sec #获得秒
as.POSIXct(p) #将时间类型转化为POSIXct
weekday(x3)#返回日期具体对应的周几
months(x3) #返回日期对应的月份
quarters(x3) #返回日期对应的季度
julian(x3) #返回日期距离'1970-01-01'的天数
as.numerci(x4 -x3) #返回两个日期的相差的天数
striptime(待转化的日期,"%B %d, %Y %H:%M") #时间标准化输出
上述格式应当与带转化日期相对应
查看全部 -
数据框:1.存储表格数据 2.视为各元素长度相同的列表(元素类型可以不同)
df <- data.frame(id=c(1,2,3,4),name=c("a","b","c"))#建立数据框
nrow(df) #查看df的行数
ncol(df) #查看df的列数
对于相同类型的数据的数据框可以直接转换为矩阵
data.matrix(df2) #其中df2中元素类型相同
查看全部 -
缺失值(missing value)—NA/NaN:其中NaN属于NA,NA不属于NaN
#NAN仅代表数值型的缺失值,而NA代表的是数值、字符型等缺失值
is.na(x)#检验x中是否有NA
is.nan(x)#检验x中是否有NaN
查看全部 -
因子(factor)—分类数据/有序 vs. 无序
—整数向量 + 标签(label)优于整数向量
x <- factor(c("female","female","male"),levels(“male”,"female")) #可以构建因子,并且可以通过levels设立基线因子t
table(x) #得出x因子的分布表
unclass(x) #将x因子转化为值标签
查看全部 -
列表(list):可以包含不同类型的对象
l2 <- list(a=1,b=2,c=3) #其中a,b,c分别为1,2, 3的名词
l3 <- list(c(1,2,3),c(4,5,6))#生成两个元素,元素长度均大于1
dimnames(x) #给矩阵x的行列标题进行命名
list(c("a","b"),c("c","d","e")) #可以用list给维数相对应的矩阵标题命名
查看全部 -
#Matrix & Array
定义矩阵 C <- (data,nrow,ncol) #其中data为矩阵的内容,nrow为行
数,ncol为列数,矩阵在填充的时候是以列的方式来填充的
dim(x) #查看矩阵的维数m×n
arritubtes(x) #查看x的属性
矩阵相当于向量+维度:y <- 1:6 ,dim(y) <- c(2,3) #构建2×3维度的矩阵
矩阵的拼接:
rbind(x,y) #将矩阵x和y按行拼接,列数不变,行数增加
cbind(x,y) #将矩阵x和y按列拼接,行数不变,列数相加
数组(array)-与矩阵相似,但是维度可以大于2
x <- array(1:24,dim=(4,6)) #用array直接建立数组
x<- array(1:24,dim=(2,3,4)) #建立3维数组,其输出为4个2*3数组
查看全部 -
向量(vector):只能包含同一类型的对象
创建向量的方法:1. 定义 x <- vector(数据类型,数据长度)
2. x1 <- 1:4 #创建整型向量1-4
3. x3 <- c(向量的元素) # 例如构建向量x3<-c(1,2)
#对于向量中元素类型不同的情况,R语言中会自动强制转化
例如x3 <- c(TRUE,10,"a") 会转换为("TRUE","10","a")
as.numeric(x) #将x转换为数值型向量
as.logical(x) #将x转换为逻辑向量
as.character(x) #将x转换为字符型向量
names(x1) <- c("a","b","c") #给向量x1进行命名,“a”为第一个向量元
素的名字,依次类推
查看全部 -
x <- 1 #‘<-’是R语言中的赋值符号
[1] #表示它后面接着的元素是x第一个元素
1 #x中存储的内容是1
class(x)#用于查看变量x的类型
x <- 3L#在数字后面加入大写L定义整型
x <- "" #定义字符串
x <- TRUE #定义逻辑型(真、假) 注意在定义时需要大写
x <- a+bi #定义复数类型
查看全部
举报