R语言入门教程知识 第六章 数据对象属性

以下为本章所用代码:

mat.1 <- matrix(c(1:6), nrow = 2, ncol = 3, byrow = T)
mat.2 <- matrix(c(1:4), nrow = 2, ncol = 2, byrow = T)
vec.1 <- c(1 : 5)
vec.2 <- c("a", "b", "c", "d", "e")
df.1 <- data.frame(col.1 = c(1:2), col.2 = c("a", "b"), col.3 = c(T, F))
li.1 <- list(com.1 = c(1:2),
             com.2 = matrix(c(1:4), ncol = 2),
             com.3 = data.frame(col1 = c(1:6))) 
#以上为赋值

dim(mat.1)
dim(df.1) 
length(vec.1)        
dim(vec.1)
length(li.1)        
dim(li.1)

vec.1[c(1, 5)]  
mat.1[1, 3]
mat.1[2]
mat.1[2, ]
mat.1[, 2]
class(mat.1[1, 3])

df.1[1]
df.1[, 2]
df.1[2, ]
df.1[1,2]
class(df.1[, 2])
class(df.1[2, ])
df.1[1:2, 2]
class(df.1[1:2, 2])
#interger

df.1[[1]]
class(df.1[[1]])
df.1["col.1"]
df.1[["col.1"]]
df.1$col.1
#结果等同于df.1[1]、df.1[col.1]
df.1["1", "col.2"]
li.1[1]
class(li.1[1])
li.1[[1]]
li.1["com.1"]
li.1[["com.1"]]
li.1$com.1
li.1[[2]][,2]

names(vec.1) <- vec.2
names(vec.1) 
dimnames(mat.2) <- list(c("a1", "a2"), c("b1", "b2"))
dimnames(mat.2) 
rownames(df.1)
colnames(df.1)
names(li.1)

维度

矩阵:两个维度,一个行、一个列

dim函数

dim(mat.1)两行三列结构

dim(df.1) 

length(vec.1)长度为5         dim(vec.1)得null(无有价值信息)

length(li.1)成分数量          dim(li.1)得null(无有价值信息)

如下图所示:

赋值

 

 

 

索引

从相应的数据结构或数据对象,提取具体位置上面的信息

向量的索引

vec.1[c(1, 5)]  

#向量需要用c函数连接才能索引

矩阵的索引

mat.1[1, 3]

#索引矩阵

mat.1[2]

#矩阵默认按列填充(得第一列的第二个)

mat.1[2, ]

#索引第二行

mat.1[, 2]

索引第二列

class(mat.1[1, 3])

#索引内容的数据类型

如下图所示:

 

 数据框的索引

df.1[1]

#返回第一列数据

df.1[, 2]

df.1[2, ]

df.1[1,2]

class(df.1[, 2])

#整型向量interger

class(df.1[2, ])

#数据框data.frame

df.1[1:2, 2]

class(df.1[1:2, 2])

#interger

df.1[[1]]

class(df.1[[1]])

#两个框框住后运行得数据结构由数据框变为向量

df.1[col.1]

df.1[[col.1]]

#用列名称,运行结果相同

df.1$col.1

#结果等同于df.1[1]、df.1[col.1]

df.1[1, col.2]

#用行列名称索引

如下图所示:

 

列表的索引 

li.1[1]

class(li.1[1])

li.1[[1]]

#返回成分上面具体的数据结构和数据

li.1["com.1"]

#返回成分

li.1[["com.1"]]

#返回具体的数据结构

li.1$com.1

li.1[[2]][,2]

#返回第二个成分的第二列

如下图所示:

 

 

命名

names(vec.1) <- vec.2

#将vec.2的元素作为vec.1元素的名称

names(vec.1)

dimnames(mat.2) <- list(c(“a1”, a2), c(“b1”, “b2”))

dimnames(mat.2)

#矩阵的行名称和列名称

rownames(df.1)

colnames(df.1)

names(li.1)

如下图所示:

 

 

 END!   (●'◡'●)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值