У меня есть dataframe:dplyr: размер выборки больше, чем численность населения
> class(dataset)
[1] "grouped_df" "tbl_df" "tbl" "data.frame"
> dim(dataset)
[1] 64480 39
, где я хочу попробовать 50.000 образцов из
> dataset %>% dplyr::sample_n(50000)
Но продолжает давать мне ошибку
Error: Sample size (50000) greater than population size (1). Do you want replace = TRUE?
Но, например, что работает:
> dim(dataset[1] %>% dplyr::sample_n(50000))
[1] 50000 1
Так почему же мой размер популяции (1)
- это имеет что-то TODO с группировкой?
Просьба привести воспроизводимый пример. dplyr выводит ошибку о ваших данных, поэтому, чтобы ответить на вопрос, нам нужно увидеть ваши данные (образец его или составленный пример). – Tim
Скорее всего, это будет группировка, поскольку у вас есть '" grouped_df "'. Попробуйте разгруппировать его и запустить тот же код. – AntoniosK
Да, это, вероятно, связано с группировкой. Как вы можете видеть из вывода 'class (dataset)' ваши данные в настоящее время сгруппированы, и некоторые группы могут иметь слишком мало наблюдений для образца 50000 без замены. Попробуйте 'dataset%>% ungroup()%>% dplyr :: sample_n (50000)' –