Упрощенная dput () в R
Я упускаю способ добавить данные к SO-ответу прозрачным способом. Мой опыт показывает, чтоstructure
объект изdput()
порой смущает неопытных пользователей ненужными. Однако у меня нет терпения копировать / вставлять его в простой фрейм данных каждый раз, и я хотел бы автоматизировать его. Что-то подобноеdput()
, но в упрощенном варианте.
Скажем, я копирую / вставляю и некоторые другие хосты имеют такие данные,
Df <- data.frame(A = c(2, 2, 2, 6, 7, 8),
B = c("A", "G", "N", NA, "L", "L"),
C = c(1L, 3L, 5L, NA, NA, NA))
выглядит так,
Df
#> A B C
#> 1 2 A 1
#> 2 2 G 3
#> 3 2 N 5
#> 4 6 <NA> NA
#> 5 7 L NA
#> 6 8 L NA
В пределах одного целого числа, одного фактора и одного числового вектора,
str(Df)
#> 'data.frame': 6 obs. of 3 variables:
#> $ A: num 2 2 2 6 7 8
#> $ B: Factor w/ 4 levels "A","G","L","N": 1 2 4 NA 3 3
#> $ C: int 1 3 5 NA NA NA
Теперь я хотел бы поделиться этим на SO, но у меня не всегда естьоригинал Фрейм данных, откуда он пришел. Чаще всего яpipe()
это в форме, и единственный способ, которым я знаю, чтобы получить этоdput()
, Подобно,
dput(Df)
#> structure(list(A = c(2, 2, 2, 6, 7, 8), B = structure(c(1L, 2L,
#> 4L, NA, 3L, 3L), .Label = c("A", "G", "L", "N"), class = "factor"),
#> C = c(1L, 3L, 5L, NA, NA, NA)), .Names = c("A", "B", "C"), row.names = c(NA,
#> -6L), class = "data.frame")
но, как я уже говорил наверху, этиstructure
может выглядеть довольно запутанным. По этой причине я ищу способ сжатьdput()
выход в некотором роде. Я представляю вывод, который выглядит примерно так,
dput_small(Df)
#> data.frame(A = c(2, 2, 2, 6, 7, 8), B = c("A", "G", "N", NA, "L", "L"),
#> C = c(1L, 3L, 5L, NA, NA, NA))
Это возможно? Я понимаю, что есть и другие классы, такие какlists
, tbl
, tbl_df
, и т.д.