R: vector 向量的创建、操作等。

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

问题:创建、操作向量   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的元素的索引

                  

讨论扩展:

         向量无横竖之分。

另请参阅:

猜你喜欢

转载自www.cnblogs.com/li-20151130/p/9026609.html
今日推荐