原子向量(不包括列表和表达式,它们也是向量)是使用[运算符的子集:
# create an example vector v1 <- c("a", "b", "c", "d") # select the third element v1[3] ## [1] "c"
的[操作者还可以采取一个向量作为参数。例如,要选择第一个和第三个元素:
v1 <- c("a", "b", "c", "d") v1[c(1, 3)] ## [1] "a" "c"
有时我们可能需要从向量中省略特定值。这可以通过-在该值的索引之前使用负号()来实现。例如,要忽略从v1中省略第一个值,请使用v1[-1]。可以直接将其扩展为多个值。例如,v1[-c(1,3)]。
> v1[-1] [1] "b" "c" "d" > v1[-c(1,3)] [1] "b" "d"
在某些情况下,我们想知道,尤其是当向量的长度较大时,如果存在特定值的索引,则该索引:
> v1=="c" [1] FALSE FALSE TRUE FALSE > which(v1=="c") [1] 3
如果原子向量具有名称(names属性),则可以使用名称的字符向量将其作为子集:
v <- 1:3 names(v) <- c("one", "two", "three") v ## one two three ## 1 2 3 v["two"] ## two ## 2
的[[操作者,也可以在它接受一个的长度的索引向量和钢带任何名称本用于索引原子矢量,与差异:
v[[c(1, 2)]] ## Error in v[[c(1, 2)]] : ## attempt to select more than one element in vectorIndex v[["two"]] ## [1] 2
向量也可以是使用逻辑向量的子集。与用数字和字符矢量子集划分,用于子集的逻辑矢量具有等于其元素中提取的矢量的长度,因此,如果一个逻辑矢量y被用于子集x,即x[y],如果然后将被循环到匹配:length(y) < length(x)ylength(x)
v[c(TRUE, FALSE, TRUE)] ## one three ## 1 3 v[c(FALSE, TRUE)] # recycled to 'c(FALSE, TRUE, FALSE)' ## two ## 2 v[TRUE] # recycled to 'c(TRUE, TRUE, TRUE)' ## one two three ## 1 2 3 v[FALSE] # handy to discard elements but save the vector's type and basic structure ## named integer(0)
本文向大家介绍如何处理R中的错误“ $运算符对于原子向量无效”?,包括了如何处理R中的错误“ $运算符对于原子向量无效”?的使用技巧和注意事项,需要的朋友参考一下 发生此错误的原因是$运算符不是设计用来访问向量元素的。如果我们使用$运算符来访问向量元素,则R无法理解它并认为它是无效的,因此,对于使用$运算符的位置,我们必须非常小心。当我们给元素命名并开始考虑将它们视为数据框列时,就会发生这种情况,
主要内容:创建矢量,访问向量元素,向量操作向量是最基本的R数据对象,有六种类型的原子向量。它们分别是逻辑,整数,双重,复杂,字符和原始。 创建矢量 1.单元素矢量 即使在R中只写入一个值,它也会被认为是一个长度为的向量,属于上述向量类型之一。 当我们执行上述代码时,会产生以下结果 - 2.多元素向量 使用冒号运算符与数字数据 - 当我们执行上述代码时,会产生以下结果 - 使用序列(Seq.)运算符 当我们执行上述代码时,会产生以下结果 -
主要内容:在数据帧中的因子,改变级别顺序,产生因子级别因子是用于对数据进行分类并将其存储为级别的数据对象。它们可以存储字符串和整数。 它们在具有有限数量的唯一值的列中很有用。 像“男”,“女”,“真”,“假”等。它们在统计建模的数据分析中很有用。 因子可通过函数使用向量作为输入来创建。 示例 当我们执行上述代码时,会产生以下结果 - 在数据帧中的因子 在使用一列文本数据创建数据帧时,R将文本列视为分类数据并在其上创建因子。参考以下示例代码 - 当我们
大家早上好,这是我第一次在stack overflow上发帖。感谢任何帮助! 我有2个用于分析股票数据的数据框。一个数据框包含日期和其他信息,我们可以将其称为df: 第二个数据框也有日期和其他重要信息。 这是我想做的:对于df1中的每一行,我需要: -在df2中查找日期,当df2$答案与df1$key相同时,它最接近df1中该行的日期。 -然后提取df2中该行的另一列的信息,并将其放入df1中的新
本文向大家介绍Erlang原子,包括了Erlang原子的使用技巧和注意事项,需要的朋友参考一下 示例 原子是具有仅由名称本身标识的名称的对象。 原子是在Erlang中使用原子文字定义的, 以小写字母开头且仅包含字母,数字,下划线或@字符的无引号的字符串,或者 用单引号引起来的字符串 例子 大多数Erlang程序中使用的原子 几乎每个Erlang程序中都会出现一些原子,特别是由于它们在标准库中的使用
不可变类型是很简单的:一旦被创建,它们就是常量。如果你验证构造对象参数,你知道从那以后它们就是有效的状态。你不可能改变对象的内部状态让它失效。一旦对象构造好,如果不允许任何状态改变,你会省去很多必须的错误的检查。不可变类型本质上是线程安全的:多个读取者可以访问相同的内容。如果内部状态不会改变,不同线程就没有机会读取到不一致的数据。不可变类型可以让你的对象安全地暴露。调用者不能修改你的对象的内部状态
本文向大家介绍R按列值子集行,包括了R按列值子集行的使用技巧和注意事项,需要的朋友参考一下 示例 内置的功能子集可以rows与columns该满足的条件。 为了找到rows有price_Elasticity > 0: df[df$price_Elasticity > 0, ] 基于price_Elasticity > 0和的子集total_Margin > 0: df[df$price_Elast
在R编程中,如何子集一个矩阵,以便跳过中间的列?我只知道如何像1:4那样连续地做,但是如果我想要第一、第二和第四个柱呢