xx+c(5,0,-1)[1]623这些都比较简单,就是简单的标量运算和向量运算,只不过是运算符可以放到前面,并且向量的对应元素需要相加罢了。 >xx*c(5,0,-1)[1] " />
R语言向量 |
您所在的位置:网站首页 › 向量计算题 › R语言向量 |
向量运算与逻辑运算 > 2+3 [1] 5 > "+"(2,3) [1] 5 > x x+c(5,0,-1) [1] 6 2 3 这些都比较简单,就是简单的标量运算和向量运算,只不过是运算符可以放到前面,并且向量的对应元素需要相加罢了。
> x x*c(5,0,-1) [1] 5 0 -4 > x x/c(5,4,-1) [1] 0.2 0.5 -4.0 > x%%c(5,4,-1) [1] 1 2 0 对于这几步的运算需要注意一下几点:*运算就是向量对应元素相乘,和线性代数里面的矩阵相乘并不一样。/运算就是对应元素相除就好。%%运算就是对应元素相除取余数。
向量索引 > y y[c(1,3)] [1] 1.2 0.4 > y[2:3] [1] 3.9 0.4 > v y[v] [1] 0.40 0.12 这些都比较容易,一看就会,不做详细解释
> x y y [1] 4 4 17 这个例子是想讲元素重复是允许的
> z z[-1] [1] 12 13 > z[-1:-2] [1] 13 带负号的下标代表我们想要把相应的元素剔除掉。
用:运算符创建向量 > 5:8 [1] 5 6 7 8 > 5:1 [1] 5 4 3 2 1 > i 1:i-1 [1] 0 1 > 1:(i-1) [1] 1 :运算符实际上就是为了得到一串等差数列,比较简单,但是要特别讲一下的是1:i-1和1:(i-1),这里面实际上及一个运算符优先级的问题,1:i-1是先计算1:i得到1 2,然后再减1得到0 1,而1:(i-1)是先计算i-1得到1后然后计算1:1,最后答案就是1.
使用seq()创建向量 这个函数也是用来生成等差数列的,具体用法看例子 > seq(from=12,to=30,by=3) [1] 12 15 18 21 24 27 30 这一段代码表示从12到30生成等差数列,公差为3 > seq(from=1.1,to=2,length=10) [1] 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 这个表示从1.1到2生成10个数的等差数列
使用rep()重复向量常数 调用的格式是rep(x,times),表示创建times*length(x)个元素的向量,这个向量是有x重复times此构成。 > x x [1] 8 8 8 8 > rep(c(5,12,13),3) [1] 5 12 13 5 12 13 5 12 13 > rep(1:3,2) [1] 1 2 3 1 2 3 > rep(c(5,12,13),each=2) [1] 5 5 12 12 13 13 最后一个each表示向量中每一个元素重复的次数,一个个元素重复的,不再是整个向量重复。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |