如何使用DPLYR创建包含彼此匹配的两列中的变量的新数据框?

时间:2017-10-27 08:57:13

标签: r dataframe dplyr frame

这是我第一次在这里发帖提问。如果我要问的是模糊或不清楚/我忘了为上下文添加额外信息,请随时告诉我,谢谢。

我的问题: 我刚刚创建了一个包含多列的数据框。如何编写匹配具有相同变量的两行的新数据框,并排除我想要的变量不匹配的所有行? (以及我在上一个屏幕截图中想要的任何其他列)?

我当前数据框架的屏幕截图: ONETWO(这不是整个数据框,因为列表很大,只是其中的一部分。)请注意每个州在其下有多个“县”。

THIS IS AN EXAMPLE OF WHAT I WANT MY FINAL DATA FRAME TO LOOK LIKE.在我的新数据框中,我想要排除位置名称与州名不匹配的所有行(因此我将删除所有县和不是州名的任何内容)。

e.g。我想编码一个新的数据框,我将加利福尼亚=加利福尼亚州,同时也排除没有匹配变量的行,如加利福尼亚=圣胡安县

我想使用DPLYR对所有这些进行编码。

谢谢!

2 个答案:

答案 0 :(得分:0)

如果我理解你的模糊问题:

library(dplyr)

df%>%filter(column1==column2)

答案 1 :(得分:0)

假设您的数字数据中没有NA,如果是,则在执行下面的代码之前将它们变为0

library(dplyr)

new_df = df %>% filter(any_drinking.state == any_drinking.location) %>% 
  mutate(both_sexes_2012 = any_drinking.females_2012+any_drinking.males_2012, 
         diff = any_drinking.males_2012-any_drinking.females_2012) %>% 
  rename(females_2012 = any_drinking.females_2012,males_2012 = any_drinking.males_2012, 
         state = any_drinking.state, location = any_drinking.location)