基于列表的子集data.frame
样本数据: 我需要仅基于其他数据集上可用的县代码(FIP)对data.frame进行子集划分。我有一个来自另一个数据集的所有fips代码的列表,我正试图删除所有不在列表中的代码,但运气不太好 从这个小样本数据集中有三个FIP(800980118013),那么在这个列表的上下文中,我如何删除除8009和8011之外的所有FIP呢 以下是我尝试过的:基于列表的子集data.frame,r,dataframe,data.table,subset,R,Dataframe,Data.table,Subset,样本数据: 我需要仅基于其他数据集上可用的县代码(FIP)对data.frame进行子集划分。我有一个来自另一个数据集的所有fips代码的列表,我正试图删除所有不在列表中的代码,但运气不太好 从这个小样本数据集中有三个FIP(800980118013),那么在这个列表的上下文中,我如何删除除8009和8011之外的所有FIP呢 以下是我尝试过的: prism.dd您可以尝试使用data.table library(data.table) setkey(setDT(prism.d), fips)
prism.dd您可以尝试使用data.table
library(data.table)
setkey(setDT(prism.d), fips)
fips <- c(8009, 8011)
fips1 <- data.table(fips)
Subpr <- prism.d[fips1]
数据
prism.d对此表示感谢,但问题是我有一个很大的fips代码列表(779),我需要将其子集。因此,虽然您的答案适用于本例,但它不适用于我拥有的大型数据集,因为我需要在列表中列出所有779个fips代码。见上文。我用unique()将fips代码存储到$fips中,我将其更改为prism.dd让我们使用。而且,我不认为!在这里是合适的,因为我正试图具体地子集某些fips代码
setkey(setDT(prism.d), fips)
fips <- unique(DustBowlData_Pre$fips)
fips <- data.table(fips)
Subpr <- prism.d[fips]
library(data.table)
setkey(setDT(prism.d), fips)
fips <- c(8009, 8011)
fips1 <- data.table(fips)
Subpr <- prism.d[fips1]
fips2 <- fips #renaming because `prism.d` has the `same` column name `fips`
prism.d[fips %in% fips2]
prism.d <- read.csv('test-1.csv')