R语言中的向量与矩阵操作全解析
1. 向量的面向对象行为
向量在R语言中非常实用,因为它允许R同时对多个元素进行快速高效的操作。这种面向向量、向量化或逐元素的行为是R语言的一个关键特性。
1.1 向量运算示例
我们先来看一个简单的例子:
foo <- 5.5:0.5
foo
[1] 5.5 4.5 3.5 2.5 1.5 0.5
foo - c(2,4,6,8,10,12)
[1] 3.5 0.5 -2.5 -5.5 -8.5 -11.5
上述代码创建了一个从5.5到0.5、步长为1的六个值的序列。然后从这个向量中减去另一个包含2、4、6、8、10和12的向量。R会根据元素的位置将它们匹配起来,并对每对相应的元素执行操作。
1.2 不同长度向量的运算
当使用不同长度的向量时,情况会变得更加复杂,主要有两种情况:
- 较长向量的长度可以被较短向量的长度整除。
- 较长向量的长度不能被较短向量的长度整除(通常是用户的无意操作)。
在这两种情况下,R会尝试将较短的向量复制或循环,直到其长度与较长的向量匹配,然后再完成指定的操作。例如:
bar <- c(1,-1)
foo * bar
[1] 5.5 -4.5 3.5 -2.5 1.5 -0.5
baz <- c(1,-1,0.5,-0.5)
foo * baz
[1] 5.50 -4.50 1.75 -1.25 1.50 -0.50
W
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



