我在R中有两个向量,例如
a <- c(2,6,4,9,8) b <- c(8,9,4,2,1)
向量a和b以我希望保存的方式排序(我将相互绘制它们) . 我想从向量a中删除某些值,并删除b中相同索引处的值 . 例如如果我想从a中删除≥8的值
a <- a[a<8]
...它给出了一个没有这些值的新向量 .
现在有一种简单的方法可以从b中的相同索引中删除值(在此示例中为索引4和5)吗?也许通过使用数据框?
如果向量在逻辑上是相同数据的一部分,请使用数据帧 . 这是更好的编程实践 .
df <- data.frame(a = a, b = b) df <- df[df$a < 8, ]
否则,将另一个向量设置为已删除的索引:
keep <- a < 8 a <- a[keep] b <- b[keep]
为什么不:
d <- data.frame(a=a, b=b) d <- d[d$a < 8, ]
甚至:
d <- subset(d, a < 8)
像这样的东西:
你也可以使用:
keep <- which( a < 8 )
首先从b中删除索引然后从a中删除索引
b <- b[a<8] a <- a[a<8]
a <8返回一个向量,该向量定义哪些索引小于8 .
如果这纯粹用于绘图,则可以使用 NA 避免弄乱 b 和x轴 .
NA
b
a[a>8]<-NA plot(b,a) #works for point or line graphs
5 回答
如果向量在逻辑上是相同数据的一部分,请使用数据帧 . 这是更好的编程实践 .
否则,将另一个向量设置为已删除的索引:
为什么不:
甚至:
像这样的东西:
你也可以使用:
首先从b中删除索引然后从a中删除索引
a <8返回一个向量,该向量定义哪些索引小于8 .
如果这纯粹用于绘图,则可以使用
NA
避免弄乱b
和x轴 .