###################################################

问题:创建、操作向量   18.4.27

怎么创建向量 vector,,及其相关操作 ???

解决方案:

a <- 3; 或 a=3     #单数据变量

a * 2;  sqrt(a);    #单数据变量的简单运算

a2 = seq(1:8); a2   #生成等差序列   #[1]  1  2  3  4  5  6  7  8

vec1 = seq(from=0,to=9,by=2); vec1   ##[1]  0  2  4  6  8

vec2 = rep(vec_1,2); vec2  #生成重复序列 # [1]  0  2  4  6  8 10  0  2  4  6  8 10

vec3 = rep(vec_1,each=2); vec3   ## [1]  0  0  2  2  4  4  6  6  8  8 10 10

vec4 = rep(vec_1,c(1,2,3,3,2,2)); vec4  #[1]  0  2  2  4  4  4  6  6  6  8  8 10 10

link <- c(vec1,100:105,vec1)    #[1]   0   2   4   6   8 100 101 102 103 104 105   0   2   4   6   8

#c()函数可以连接不同的变量,生成一个新的变量。

vec = vector(length=6);  vec   #[1] FALSE FALSE FALSE FALSE FALSE FALSE

# vector 函数生成一个长度为 length 的空向量,元素为FALSE。可逐个赋值。vector 函数可用来代替 c 函数。

#相关操作:

#查询元素

vec1[3];   # 返回索引为 3 的元素

vec1[-3];   # 返回除了索引为 3 的其他所有元素

vec1[2:4];   #返回索引为 2-4 的元素

vec1[c(2,4)];   #返回指定的,索引为 2和4 的元素

vec1[vec1 > 5]   #返回所有值大于5的元素。

vec1[which(vec1 > 5)]   #同上,,返回所有值大于5的元素

vec1[vec1 %in% c(1,2,5,"b")]   #返回一个逻辑向量,长度同vec1,vec1中元素在c(),中则为 TRUE.

length(vec1);   #返回向量长度,可结合上行筛选条件。

#编辑向量

x[x=2] <- 12;   ## 将x的第1个为2的元素 变为12

x[x==2] <- 12;   ## 将 x 中,所有为2的元素 变为12

sum(vec1);    ## sum  min  max  mean  median  var sd 均可以如上应用。

#如果变量中有缺失值,需要添加参数na.rm=TRUE,其默认为FALSE。 计算 sum min max mean median 时,

#而有的内置函数用 na.action=TRUE,处理缺失值。还有用其他句式等,用前help (?)一下

append(v,10,after=3)  #在第三个元素后面加入10,新向量 <- (原向量,新元素) ,添加元素的及合并向量

#如果向量 x 包括名称: x[2]得到名字和值成对输出,x[[2]]只输出值。

which.max(x)  # 找出最大元素的索引

which.min(x)  # 找出大小的元素索引

which(x == 6.0)  # 等于6.0的元素的索引

which(x > 5)  # 大于5的元素的索引

讨论扩展:

向量无横竖之分。

另请参阅:

R: vector 向量的创建、操作等。的更多相关文章

  1. Matlab、R向量与矩阵操作 z

    已有 1849 次阅读 2012-8-2 15:15 |系统分类:科研笔记|关键词:矩阵 480 window border center Matlab.R向量与矩阵操作   描    述 Matla ...

  2. Matlab、R向量与矩阵操作

    Matlab.R向量与矩阵操作   描    述 Matlab R 1 建立行向量v=[1 2  3 4] v=[1 2 3 4] v<-c(1,2,3,4)或v<-scan(),然后输入 ...

  3. c++ vector(向量)使用方法详解(顺序访问vector的多种方式)

    来源:http://www.jb51.net/article/44231.htm 作者: 字体:[增加 减小] 类型:转载 时间:2013-12-08我要评论 vector是向量类型,它可以容纳许多类 ...

  4. vector 向量容器用法祥解

    vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的. 用法:         ...

  5. STL --> vector向量

    vector向量 vector是一种对象实体,能够容纳许多其他类型相同的元素,因为又被称为容器. 头文件 在使用它时,需要包含头文件 <vector>. #include <vect ...

  6. vector向量容器(常用的使用方法总结)

    关于STL中vector容器的学习,编译运行后边看代码,边看执行结果效果更佳,还是想说看别人的代码一百遍,不如自己动手写一遍. vector向量容器不但能像数组一样对元素进行随机访问,还能随时在尾部插 ...

  7. 学习笔记之vector向量容器

    今天复习到vector向量容器,里面包括vector向量容器的一些优点以及具体的使用方法及代码,分享给大家. Vector向量容器不但能够像数组一样对元素进行随机访问,还可以在尾部插入元素,是一种简单 ...

  8. R语言文件相关的操作

    1. 文件系统介绍 R语言对文件系统的操作,包括文件操作和目录操作,函数API都定义在base包中. 2. 目录操作 2.1 查看目录 查看当前目录下的子目录. # 启动R程序 ~ R # 当前的目录 ...

  9. vector向量容器

    vector向量容器不但可以像数组一样对元素进行随机访问,还能在尾部插入元素,是一种简单高效的容器,可以代替数组. vector具有内存自动管理的功能,对于元素的插入和删除,可以动态的调整所占内存. ...

随机推荐

  1. [原创]Scala学习:编写Scala脚本

    scala支持脚本 1)在/opt/scala-script下创建一个文件hello.scala 编辑内容如下: $ hello ,this is the first scala script 2)运 ...

  2. a标签包着img事件 ie下 a标签的click事件失效

    整个大的背景框有个点击事件, 如果标签结构是(详细的css样式略) a{background:green;} <a href=""> <img src=" ...

  3. 剑指offer——树中两个节点的最低公共祖先

    代码来源与<剑指offer> 得到从根节点开始到输入的两个结点的两条,需要遍历两次树,每遍历一次的时间复杂度是O(n),得到的两条路径的长度在最差情况时是O(n),通常情况下两条路径的长度 ...

  4. codevs1279 Guard 的无聊

    题目描述 Description 在那楼梯那边数实里面,有一只 guard,他活泼又聪明,他卖萌又霸气.他每天刷题虐 场 D 人考上了 PKU,如果无聊就去数一数质数~~ 有一天 guard 在纸上写 ...

  5. Tkenter之API测试系统界面设计

    # -*- coding: UTF-8 -*- from Tkinter import * tk=Tk() tk.geometry('500x400+500+200') tk.title('API测试 ...

  6. Delphi 实现检测线程类TThread是否结束

    unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...

  7. Raft 为什么是更易理解的分布式一致性算法——(1)Leader在时,由Leader向Follower同步日志 (2)Leader挂掉了,选一个新Leader,Leader选举算法。

    转自:http://www.cnblogs.com/mindwind/p/5231986.html Raft 协议的易理解性描述 虽然 Raft 的论文比 Paxos 简单版论文还容易读了,但论文依然 ...

  8. Java_util_02_Java判断字符串是中文还是英文

    做微信开发,使用百度翻译API时,需要指定译文的语种.这就需要我们判断待翻译内容是中文还是英文,若是中文,则翻译成英文,若是英文则翻译成中文. 方法一:字符与字节的长度 依据:一个中文占两个字节,一个 ...

  9. 6_State 游戏开发中使用状态机

    ### State 不好的代码 ``` //处理玩家输入的代码 void Heroine::handleInput(Input input) { if (input == PRESS_B) { if ...

  10. 机器学习 Support Vector Machines 1

    引言 这一讲及接下来的几讲,我们要介绍supervised learning 算法中最好的算法之一:Support Vector Machines (SVM,支持向量机).为了介绍支持向量机,我们先讨 ...