2015-03-13 2 views
2

Я пытаюсь воспроизвести фрейм данных, а dput не сотрудничает.Воспроизводимый пример и ошибка ошибки

dput Команда:

dput(head(data, 10)) 

dput выход:

structure(list(lexptot = c(8.28377505197124, 9.1595, 
8.14707583238833, 9.86330744180814, 8.21391453619232, 8.92372556833205, 
7.77219149815994, 8.58202430280175, 8.34096828565733, 10.1133857229336 
), year = c(0L, 1L, 0L, 1L, 0L, 1L, 0L, 1L, 0L, 1L), dfmfdyr = c(0, 
1, 0, 1, 0, 1, 0, 1, 0, 1), dfmfd98 = c(1, 1, 1, 1, 1, 1, 1, 
1, 1, 1), nh = c(11054L, 11054L, 11061L, 11061L, 11081L, 11081L, 
11101L, 11101L, 12021L, 12021L)), .Names = c("lexptot", "year", 
"dfmfdyr", "dfmfd98", "nh"), vars = list(nh), drop = TRUE, indices = list(
0:1, 2:3, 4:5, 6:7, 8:9), group_sizes = c(2L, 2L, 2L, 2L, 
2L), biggest_group_size = 2L, labels = structure(list(nh = c(11054L, 
11061L, 11081L, 11101L, 12021L)), class = "data.frame", row.names = c(NA, 
-5L), .Names = "nh", vars = list(nh)), row.names = c(NA, 10L), class = c("grouped_df", 
"tbl_df", "tbl", "data.frame")) 

Ошибка:

Error in structure(list(lexptot = c(8.28377505197124, 9.1595, : 
    object 'nh' not found 

Почему это происходит прямо из команды dput?

Edit:

Соответствующие должности, но предложения не работают.

Why does this dplyr dput not work?

Edit 2:

Это возникает из-за один из моих переменных является group объект, dput не может воспроизвести это. Решением является использование ungroup(data), а затем перезапуск и все работы.

+0

Я добавил dplyr тег, так как это, вероятно, корень вашей проблемы. Не могу помочь вам, так как я не использую dplyr. – Roland

+0

@Roland, почему это проблема dplyr? – Vedda

+1

У вас обычно не было бы этой проблемы, если бы у вас был «нормальный» data.frame. Но вы навязываете «grouped_df», и это очень вероятно. Я вижу 'vars = list (nh)' там, и это ссылка на другой объект, который обычно не является частью вывода 'dput'. – Roland

ответ

4

Вопрос был одним из переменных объектов: group, и поэтому dput() не мог это распознать. Решением было значение ungroup() данных.

ungroup(data) 
dput(head(data, 10)) 

Новый data.frame:

structure(list(lexptot = c(8.28377505197124, 9.1595, 
8.14707583238833, 9.86330744180814, 8.21391453619232, 8.92372556833205, 
7.77219149815994, 8.58202430280175, 8.34096828565733, 10.1133857229336 
), year = c(0L, 1L, 0L, 1L, 0L, 1L, 0L, 1L, 0L, 1L), dfmfd98 = c(1, 
1, 1, 1, 1, 1, 1, 1, 1, 1), dfmfd = c(0L, 1L, 0L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L)), .Names = c("lexptot", "year", "dfmfd98", "dfmfd" 
), class = c("tbl_df", "data.frame"), row.names = c(NA, -10L)) 
+0

Недавно я указал на этот ответ, но мне пришлось делать 'dput (ungroup (data))'. Должно ли это редактироваться? – raphael

+0

@raphael, что у меня будет другая альтернатива. Проблема заключается в «групповых» переменных в кадре данных. В любом случае это сработает. – Vedda

Смежные вопросы