我有一个csv文件,其中包含100多个具有不同背景/人口统计信息的名称(参见下面的示例示例):
<表类>
名称
数据
2000
2001
tbody><<tr>Pam 工作 分析师 副 吉姆工作 经理董事 史蒂夫工作 经理董事 戴夫工作 经理 经理 Pam工资 50000 65000 吉姆工资 100000 120000 史蒂夫工资 100000 120000 戴夫工资 90000 90000 表类>
> df
Name Data X2000 X2001
1 Pam Job Analyst Associate
2 Jim Job Manager Director
3 Steve Job Manager Director
4 Dave Job Manager Manager
5 Pam Salary 50000 65000
6 Jim Salary 100000 120000
7 Steve Salary 100000 120000
8 Dave Salary 90000 90000
为了过滤名字Pam和Dave,通过数据作业,我使用filter
函数:
df <-
df %>%
filter((Name == "Pam" | Name == "Dave"))
在过滤它们的名称之后,您也可以过滤Data列:
df <-
df %>%
filter((Data == "Job"))
我:
Name Data X2000 X2001
1 Pam Job Analyst Associate
2 Dave Job Manager Manager
我们可以首先用要过滤的20个名字和10个数据创建两个向量。下面是一个有三个名字和两个数据的例子。
vnames<-c("Pam", "Jim", "Steve")
vdata<-c("Job", "Salary")
然后我们可以创建一个过滤的数据帧(filtered)将一个子集应用到初始数据帧(df)
filtered<-subset(df, Name %in% vnames & Data %in% vdata)