Распространение данных - PullRequest
       46

Распространение данных

0 голосов
/ 25 февраля 2019

У меня есть следующий dataframe / tibble образец:

structure(list(name = c("Contents.Key", "Contents.LastModified", 
"Contents.ETag", "Contents.Size", "Contents.Owner", "Contents.StorageClass", 
"Contents.Bucket", "Contents.Key", "Contents.LastModified", "Contents.ETag"
), value = c("2019/01/01/07/556662_cba3a4fc-cb8f-4150-859f-5f21a38373d0_0e94e664-4d5e-4646-b2b9-1937398cfaed_2019-01-01-07-54-46-064", 
"2019-01-01T07:54:47.000Z", "\"378d04496cb27d93e1c37e1511a79ec7\"", 
"24187", "e7c0d260939d15d18866126da3376642e2d4497f18ed762b608ed2307778bdf1", 
"STANDARD", "vfevvv-edrfvevevev-streamed-data", "2019/01/01/07/556662_cba3a4fc-cb8f-4150-859f-5f21a38373d0_33a8ba28-245c-490b-99b2-254507431d47_2019-01-01-07-54-56-755", 
"2019-01-01T07:54:57.000Z", "\"df8cc7082e0cc991aa24542e2576277b\""
)), row.names = c(NA, -10L), class = c("tbl_df", "tbl", "data.frame"
))

Я хочу распространить столбец имен с помощью функции tidyr::spread(), но я не получаю желаемый результат

df %>% tidyr::spread(key = name, value = value)

Я получаю ошибку:

Ошибка: дубликаты идентификаторов для строк: ...

Также пробовал с melt функция тот же результат.

Я подключился к S3 с помощью функции aws.s3::get_bucket() и пытаюсь преобразовать ее в датафрейм.Я знаю, что есть функция aws.s3::get_bucket_df(), которая должна это делать, но она не работает (вы можете посмотреть на мой соответствующий вопрос .

После того, как у меня есть список сегментов,Я удалил его из списка и запустил команду enframe. Пожалуйста, сообщите.

1 Ответ

0 голосов
/ 25 февраля 2019

Сначала вы можете ввести новый столбец (вводит NA s, с ними придется иметь дело).

df %>% 
mutate(RN=row_number()) %>% 
  group_by(RN) %>% 
  spread(name,value)
...