1

我已经使用该which()函数生成索引,告诉我x9 变量数据帧的变量中的哪些值高于 1024,并告诉我变量y中的哪些值高于 768。

现在我想生成一个新的数据帧,其中包括原始数据帧的所有值,除了由which (dataframe$x > 1024)or返回的所有值which (dataframe$y > 768

我可以使用哪些函数从旧数据帧减去那些索引值生成新数据帧?

如果我的语言没有标准化为典型的 R 词汇表,我深表歉意,我刚开始使用 R。谢谢。

4

2 回答 2

1

您可以使用逻辑向量进行子集化。试试dataframe[dataframe$x <= 1024 & dataframe$y <= 768,]哪个和dataframe[!(dataframe$x > 1024 | dataframe$y > 768),].

您将从阅读R 的介绍中受益。

于 2013-11-07T14:28:59.650 回答
0

如果逻辑向量对您来说不直观,您可能更喜欢使用subset(). 在你的情况下:

subset(dataframe, (x > 1024 | y > 768))

但是,您应该注意 NA 和(子集手册中的 c&p):

这是一个旨在以交互方式使用的便利功能。对于编程,最好使用像 [ 之类的标准子集函数,特别是参数子集的非标准评估可能会产生意想不到的后果。

于 2013-11-07T14:54:07.560 回答