R: Создание множества новых фреймов данных с уникальными значениями из набора данных, пока не осталось дубликатов, цикл? - PullRequest
0 голосов
/ 21 октября 2019

Я использую R для многократного разделения моего набора данных для извлечения уникальных значений и дубликатов значений в отдельные фреймы данных до такой степени, что у меня не будет фреймов данных с дублирующимися значениями, поэтому я получаю множество фреймов данных поверхколичество итераций, необходимых для этого, непрерывно с использованием предыдущего сгенерированного кадра данных.

Довольно сложно объяснить, но вот пример:

df1 <- data.frame(name = c("michelle", "sarah", "amy", "lauren", "susan", "sarah", "michelle", "michelle"),
                  var1 = c("1", "1", "1", "1", "1", "1", "1", "1"))

df2 <- df1[!duplicated(df1[, "name"]),]
df2duplicates <- df1[duplicated(df1[, "name"]),]

df3 <- df2duplicates[!duplicated(df2duplicates[, "name"]),]
df3duplicates <- df2duplicates[duplicated(df2duplicates[, "name"]),]

df4 <- df3duplicates[!duplicated(df3duplicates[, "name"]),]
df4duplicates <- df3duplicates[duplicated(df3duplicates[, "name"]),]

И так далее ...

Это в основном повторяет одно и то же, но только с использованием предыдущего созданного фрейма данных, поэтому я изо всех сил пытался поместить его в цикл и т. Д., Но я действительно хотел бы сделать этот код более упорядоченным, а не повторять одни и те же строки снова и снова.

Любая помощь будет принята с благодарностью !!

1 Ответ

0 голосов
/ 25 октября 2019

В итоге я пошел по другому пути. Вот что я сделал, если кому-то интересно:

    library(tidyverse)
df1<- df1 %>% 
  group_by(name) %>% 
  dplyr::mutate(Count = row_number()) %>% 
  mutate(totaldup = n()) 

for(i in 1:50) {
  test <- subset(df1, Count==i) 
  assign(paste("dfsub",i, sep=""), test) 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...