Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取R中的组序列_R_Tidyverse - Fatal编程技术网

获取R中的组序列

获取R中的组序列,r,tidyverse,R,Tidyverse,所以我已经做了我需要的,但我相信有更好的方法来做到这一点 library(tidyverse) library(schrute) office <- schrute::theoffice top_3_lines_per_episode <- office %>% group_by(season,episode,episode_name,imdb_rating) %>% count(character) %>% top_n(3, n) %>%

所以我已经做了我需要的,但我相信有更好的方法来做到这一点

library(tidyverse)
library(schrute)
office <- schrute::theoffice

top_3_lines_per_episode <- office %>% 
  group_by(season,episode,episode_name,imdb_rating) %>% 
  count(character) %>%
  top_n(3, n) %>% ungroup()

epi_num<-top_3_lines_per_episode %>% 
  select(episode_name) %>% 
  unique() %>% 
  mutate(episode_num=row_number()) 

top_3_lines_per_episode %>% 
  inner_join(epi_num)
库(tidyverse)
图书馆(施鲁特)
办公室%
计数(字符)%>%
top_n(3,n)%>%ungroup()
epi_num%
选择(剧集名称)%%>%
唯一()%>%
突变(插曲编号=行编号()
每集最多3行%>%
内部连接(epi\u num)

我想生成列epi_num,使用上面的方法完成。一个更简单的方法。我已经从SO查看了group_指数,但我认为这已经被撤销。需要一种更好的方法,最好是在tidyverse中。

我不知道
组索引
被弃用,事实上,这似乎是一个完美的选择

library(dplyr)

office %>% 
  group_by(season,episode,episode_name,imdb_rating) %>% 
  count(character) %>%
  top_n(3, n) %>%
  ungroup %>%
  mutate(episode_num = group_indices(., season,episode,episode_name,imdb_rating))

另一个选项是将列与
unite
组合,然后
match
以获得
eposion\u num

office %>% 
  group_by(season,episode,episode_name,imdb_rating) %>% 
  count(character) %>%
  top_n(3, n) %>%
  ungroup %>%
  tidyr::unite(temp, season,episode,episode_name,imdb_rating, remove = FALSE) %>%
  mutate(episode_num = match(temp, unique(temp))) %>%
  select(-temp)

我不知道
group\u index
被弃用,事实上这似乎是一个完美的选择

library(dplyr)

office %>% 
  group_by(season,episode,episode_name,imdb_rating) %>% 
  count(character) %>%
  top_n(3, n) %>%
  ungroup %>%
  mutate(episode_num = group_indices(., season,episode,episode_name,imdb_rating))

另一个选项是将列与
unite
组合,然后
match
以获得
eposion\u num

office %>% 
  group_by(season,episode,episode_name,imdb_rating) %>% 
  count(character) %>%
  top_n(3, n) %>%
  ungroup %>%
  tidyr::unite(temp, season,episode,episode_name,imdb_rating, remove = FALSE) %>%
  mutate(episode_num = match(temp, unique(temp))) %>%
  select(-temp)

你在哪里读到关于
group\u index
被弃用的消息?我在某处读到过,很抱歉,我犯了错误,尽管下面看起来很完美。谢谢你在哪里读到关于
group\u index
被弃用的消息?我在某处读到过,很抱歉,我犯了错误,尽管下面看起来很完美。谢谢