简体   繁体   English

通过删除因子的每个级别的重复项来子集数据帧

[英]subset dataframe by removing duplicates for each level of a factor

I have a data frame: 我有一个数据框:

df<- data.frame(region= c("1", "1", "1","1","1","1","1","1","2","2"),
            plot=c("1", "1", "1","2","2","2", "3","3","3","3"),
            interact=c("A_B", "C_D","C_D", "E_F","C_D","C_D", "D_E", 
            "D_E","C_B","A_B"))

And I would like to get count of all unique levels of interact for each plot subset. 我想获得每个绘图子集的所有唯一interact级别的计数。 The final data frame would look like: 最终的数据帧如下所示:

 result<- 
     Plot    freq
      1      2
      2      2
      3      3

I would like to use dplyr and have gotten this far: 我想使用dplyr并获得了以下效果:

 df2 <-df %>% group_by(plot) %>%mutate(freq=length(unique((interact))))

But with the code above I have yet to figure out a way where only one value per plot is represented (ie. duplicate values in freq for each unique plot are removed). 但是,使用上面的代码,我还没有找到一种方法来表示每个图只显示一个值(即,删除了每个唯一图的freq重复值)。

Try this . 尝试这个 。

df%>%group_by(plot)%>%summarise(n=length(unique(interact)))

    plot     n
1      1     2
2      2     2
3      3     3

or base on your own way. 或根据自己的方式

df2 <-df %>% group_by(plot) %>%mutate(freq=length(unique((interact))))
df2=df2[!duplicated(df2$plot),]

  region   plot interact  freq
  <fctr> <fctr>   <fctr> <int>
1      1      1      A_B     2
2      1      2      E_F     2
3      1      3      D_E     3

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 子集数据框和应用功能,可计算每个因子水平的频率 - Subset dataframe and apply function that counts frequency of each factor level 子集R数据帧按因子级别,在阈值越过第一时间后删除所有行 - Subset R dataframe by factor level, removing ALL rows after threshold crossed the FIRST time R按因子水平细分 - R Subset by Factor level 我如何在没有循环的情况下通过数据帧中该级别中另一个因子的子集来操作因子级别内的数据 - How can i manipulate data within a factor level by a subset of another factor in that level in a dataframe without loops 为每个因子水平级别添加频率计数列,并调整数据框的形状 - Add columns of frequency counts for each level of factor level and reshape dataframe R上的Leaflet:如何为数据框中的每个因子级别创建图层和颜色 - Leaflet on R: How to create layers and colors for each factor level in dataframe 将一个非常特殊的函数应用于 R 中数据帧中因子的每个级别 - apply a very particular function to a each level of a factor in a dataframe in R 将因子列表向量拆分为每个因子级别的列的数据框 - Splitting a vector of lists of factors into dataframe with column for each factor level 子集 dataframe 后添加一个因子 - Subset dataframe after addNA of an factor 每个因子水平的自相关 - Autocorrelation on each level of a factor
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM