复制小于值的属性

Copy attributes less than value

我有一个数组 AGE,我想将所有年龄小于 30 的年龄复制到新数组 a1。 我试过下面的代码:

age <- c(23,24,26,27,35,42,45,49,50,52,56,56,57,59,60,61,63,64)
a1 <- age<30
a1

输出:

TRUE TRUE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE

我希望得到实际值而不是 True 或 false

age<30 是一个返回 logical 向量的表达式。这就是为什么您有一系列 TRUE 和 FALSE 值。

您的下一步是使用此序列 索引 原始数组。例如,您可以使用整数索引数组:

a1 <- age[c(1,3,5)]
a1
[1] 23 26 35

所以你可以对布尔值做同样的事情。如果布尔值是 TRUE 那么你取值,如果不是,你不取值:

a1 <- age<30
age[a1]
[1] 23 24 26 27

这正是您想要的。现在在网上搜索“R 子集向量和矩阵”。这是一个宏大而引人入胜的话题,展示了 R 的强大之处。 您还可以在 R 手册中获得有用的信息。在 R 中,调用函数 help.start() 以在 Web 浏览器中打开手册。 转到 2.7 索引向量部分;选择和修改数据集的子集 以获取详细信息。