Я получаю ошибку при попытке использовать расплав () на даты данных DataFrame

StackOverflow https://stackoverflow.com/questions/2831319

  •  26-09-2019
  •  | 
  •  

Вопрос

Я хотел бы растопить dataframe Так что в одном столбце у меня есть даты, а за секунду у меня есть имя пользователя в качестве переменной и, наконец, значение.

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

Ошибка в as.date.numeric (значение): «Происхождение» должно быть поставлено

И пока я понимаю ошибку, я не совсем уверен, как обойти его.

Небольшой образец данных:

structure(list(created_at = structure(c(14007, 14008, 14009, 
14010, 14011, 14012), class = "Date"), benjamin = c(16, 0, 0, 
0, 0, 0), byron = c(0, 0, 0, 0, 0, 0), cameronc = c(0, 0, 0, 
0, 0, 0), daniel = c(0, 0, 0, 0, 0, 0), djdiaz = c(0, 0, 0, 0, 
0, 0), gene = c(16, 77, 64, 38, 72, 36), joel = c(0, 0, 0, 0, 
0, 2), kerem = c(0, 0, 0, 0, 0, 0), sophia = c(0, 0, 0, 0, 0, 
0), SuperMoonMan = c(0, 0, 0, 0, 0, 0)), .Names = c("created_at", 
"benjamin", "byron", "cameronc", "daniel", "djdiaz", "gene", 
"joel", "kerem", "sophia", "SuperMoonMan"), row.names = c(NA, 
6L), class = c("cast_df", "data.frame"))

Спасибо за вашу помощь.

Это было полезно?

Решение

Попробуйте преобразовывать created_at Переменная в вектор символов. melt Также не нравится cast_df класс, но у меня был успех, сбросив класс, чтобы просто data.frame. Отказ Вот так:

df <- as.data.frame(df)
df$created_at <- as.character(df$created_at)
library(reshape)
melt(df)

Другие советы

Вы ошибка вызвана rbind используется в melt, что является следствием неправильных данных для расплава. Я не знаю, как вы создаете свой cast_df data.frame, но оно отсутствует атрибуты (idvars и rdimnames) которые требуются melt.cast_df.

Поэтому wkmor1. Работа работает, melt.data.frame Не нужны эти аргументы. И без преобразования Date к character Это можно сделать как:

df <- as.data.frame(df)
melt(df, id="created_at")
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top