[R语言入门]R 语言数据操作总结

R拥有许多用于存储数据的对象类型

这里对基本数据和操作做一下总结,也方便以后自己查阅


一、R中的基本对象

R中对象有5种基本类型:
字符(character)
数值(numeric: real numbers)
整数(interger)
复数(complex: 4+2i)
逻辑(logical:TRUE,FALSE)
R中对象有4种基本属性:
名称(name)
维度(dimensions:matrix,array)
类型(class)
长度(length)

二、R中的数据结构

R中的数据结构有6种
包括:标量、向量、矩阵、数组、数据框和列表
查看对象类型的命令:class(x)

1.标量
标量是只含一个元素的向量

 

x1<- 5
x2 <- "hello" 
x3 <- TRUE
它们用做保存一个常量
 
2.向量(vector)
可以包含多个同一类型元素的对象
创建方法:
x <- vector("character",10)
x1 <- 1:5
x2 <- c(1,2,3)
访问方法:
#创建一个向量1:10填充
x <- 1:10
#读取第2个元素
x[2]
#第二个和第四个元素
x[c(2,4)]
3.矩阵(matrix)
矩阵可以看作向量+维度属性
创建方法:
x <- matrix(nrow=3 ,ncol=2) #建立3行2列空矩阵
x <- matrix(1:6, nrow=3, ncol=2) #先列后行的方式初始化并建立3行2列矩阵
dim(x) #查看矩阵行列数
attributes(x) #查看矩阵属性及行列数(例如:维度属性:3行2列)
$dim
[1] 3,2
y <- 1:6
dim(y) <- c(2,3) #先建立向量,然后附加维度属性,使之成为矩阵。
y2 <- matrix(1:6, nrow=2, ncol=3) #建立一个和y相同的矩阵
rbind(y,y2) #将矩阵按行合并(行数增加,列数不变)
cbind(y,y2) #将矩阵按列合并(列数增加,行数不变)

访问方法:

x[2, ] 表示选取矩阵第二行元素
x[, 2] 表示选取矩阵第二列元素
x[1, 4] 表示选取矩阵第一行第四列元素
x[1, c(4, 5)] 表示选取矩阵第一行的第四个第五个元素

4.数组(array)
数组与矩阵相似,但数组可以是多维,矩阵只能是二维
创建方法:
 x<-array(1:24,dim=c(3,8)) #array(内容,维度)

5.数据框(data frame)
数据框在数据分析中经常被使用,用来存储表格数据(tabular data);
视为各元素长度相同的列表
  *每个元素代表一列数据
  *每个元素的长度代表行数
  *元素类型可以不同
data frame数据框:同一列数据类型相同,且每一列长度相等
创建方式:
df <- data.frame(id=c(1,2,3),name=c("a","b","c"),gender=c("TRUE","TRUE","FALSE"))
nrow(df) #查看数据框行数
ncol(df) #查看数据框列数
data.matrix(df2) #数据转矩阵,元素是同种类型的
数据框的每列元素可以不同,而矩阵则要求一样。
访问方法:
df[1:2]  #表示选取第一列第二列数据 
df[c("id","name","gender")] #选取列名为id,name,gender的数据
6.列表(list)
列表可以包含不同类型的对象
创建方法:
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"))#为矩阵维度(行、列)命名


三、最后

先就这样吧,以后补充
附上数据结构联系图(图出自慕课网)


 







 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值