R语言-列表与矩阵
列表
创建
创建:列表创建用 list()
函数
- L <- list(1,2,3)
- x <- c(1,3,5)
y <- c(2,4,6)
L <- list(x, y)
命名:给列表元素命名用 names()
函数
names(L) <- c('one', 'two', 'three') #依次给列表L的元素命名
访问列表元素
假如有个列表:L
L <- list(111,222,333)
位置访问:访问第一个元素,L[1]
名称(有名称时才可以)访问:
names(L) <- c('aa','bb','cc') #先给L的元素命名
#取出L的元素222
L$bb
操作列表元素
假如
L <- list(1,2,3,4)
-
添加元素8:
L[5] <- 8
,可以任意指定添加的元素是第几个,比如
L[10] <- 8
-
删除元素:(需要记住删除的元素位置)
L[5] <- NULL
-
更新元素:
L[2] <- 222
合并列表
比如有两个列表L1, L2,合并,使用 c()
函数
L1 <- list(111,222,333)
L2 <- list('a','b','c')
L <- c(L1, L2)
print(L)
输出:
[[1]]
[1] 111
[[2]]
[1] 222
[[3]]
[1] 333
[[4]]
[1] "a"
[[5]]
[1] "b"
[[6]]
[1] "c"
列表转向量
使用 unlist()
函数
L1 <- list(111,222,333)
L2 <- list('a','b','c')
L <- c(L1, L2)
print(unlist(L))
输出:
[1] "111" "222" "333" "a" "b" "c"
矩阵
创建
用 matrix(data, nrow, ncol, byrow, dimname)
函数
v <- c(1,2,3,4,5,6)
M <- matrix(v,nrow = 2)
print(M)
#输出
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
参数说明:
-
data:传入的数据,是个向量
-
nrow:指明行数
-
ncol:指明列数,与nrow两个可以只指明一个
-
byrow:逻辑值,表示是否按行输出,默认
FALSE
-
dimname:设置行、列名称,是个列表,如:
v <- c(1,2,3,4,5,6)
rows <- c('r1', 'r2')
cols <- c('c1', 'c2', 'c3')
M <- matrix(v,nrow = 2, dimnames = list(rows,cols))
print(M)
#输出:
c1 c2 c3
r1 1 3 5
r2 2 4 6
矩阵转置
用 t()
函数:
print(t(M))
#输出:
r1 r2
c1 1 2
c2 3 4
c3 5 6
访问元素
取一整行元素,如取第1行元素:
M[1,]
取一整列元素,如取第2列元素:
M[,2]
取某个元素,如取第1行第2列的元素:
M[1,2]
矩阵的算数运算
假设两个矩阵如下:
M1 <- matrix(c(1,2,3,4,5,6),nrow=2)
print(M1)
#输出:
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
M2 <- matrix(c(10,20,30,40,50,60),nrow=2)
print(M2)
#输出
[,1] [,2] [,3]
[1,] 10 30 50
[2,] 20 40 60
- 加减:对应元素加减
print(M1+M2)
[,1] [,2] [,3]
[1,] 11 33 55
[2,] 22 44 66
- 乘除:对应元素乘除
print(M1 * M2)
[,1] [,2] [,3]
[1,] 10 90 250
[2,] 40 160 360
本文来自博客园,作者:aJream,转载请记得标明出处:https://www.cnblogs.com/ajream/p/15383564.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人