我有一个很大的CSV文件,其中包含来自不同位置的医学调查结果(该位置是数据中存在的一个因素)。由于某些分析特定于某个位置,并且为了方便起见,我只想从那些位置提取带有行的子帧。碰巧位置是第一个字段,所以是的,我可以通过对CSV行进行排序来完成此操作,但是我想学习如何在R中执行此操作,因为我确定其他列都需要使用它。
因此,总的来说,问题是:给定一个数据框foo,我如何创建另一个仅包含foo中foo$location = 'there'
的行的数据框栏?
最佳答案
这是两种主要方法。我更喜欢它的可读性:
bar <- subset(foo, location == "there")
请注意,您可以将许多条件字符串与
&
和|
组合在一起以创建复杂的子集。第二种是索引方法。您可以使用数字或 bool(boolean) slice 来索引R中的行。
foo$location == "there"
返回T
和F
值的 vector ,该 vector 的长度与foo
的行相同。您可以执行此操作以仅返回条件返回true的行。foo[foo$location == "there", ]