Как получить "код для создания переменной" из data.frame
У меня есть data.frame (например, чтение из файла данных с помощью read.delim
), которая содержит следующие данные:
'data.frame': 10 obs. of 3 variables:
$ x : int 1 2 3 4 5 6 7 8 9 10
$ y1: num 3 5 1 8 2 4 5 0 8 2
$ y2: num 1 8 2 1 4 5 3 0 8 2
Я сейчас ищу функцию в R, которая принимает переменную (data
) и выводит возможную команду, которая создает переменную типа data
, В этом случае следует распечатать:
data <- data.frame(
x=c(1:10)
, y1=c(3,5,1,8,2,4,5,0,8,2)
, y2=c(1,8,2,1,4,5,3,0,8,2)
)
Есть ли такая функция в R.
В MySQL существует, например, команда SHOW CREATE TABLE tbl_name
, который
Показывает инструкцию CREATE TABLE, которая создает именованную таблицу.
Я ищу что-то подобное для переменных в R.
2 ответа
Я думаю, что вы ищете dput
:
> dput(data)
structure(list(x = 1:10, y1 = c(3, 5, 1, 8, 2, 4, 5, 0, 8, 2),
y2 = c(1, 8, 2, 1, 4, 5, 3, 0, 8, 2)), .Names = c("x", "y1",
"y2"), row.names = c(NA, -10L), class = "data.frame")
> data0<-structure(list(x = 1:10, y1 = c(3, 5, 1, 8, 2, 4, 5, 0, 8, 2),
+ y2 = c(1, 8, 2, 1, 4, 5, 3, 0, 8, 2)), .Names = c("x", "y1",
+ "y2"), row.names = c(NA, -10L), class = "data.frame")
> identical(data,data0)
[1] TRUE
dput
является базовой функцией, которую вы, вероятно, ищете.
Я использую функцию обертки, reproduce
которым я поделился на вопрос "Как сделать воспроизводимый пример".
# install.packages("devtools")
library(devtools)
source_url("https://raw.github.com/rsaporta/pubR/gitbranch/reproduce.R")
reproduce(myData, whole=TRUE)
Который дает:
data <- structure(list(x = 1:10, y1 = c(3, 5, 1, 8, 2, 4, 5, 0, 8, 2),y2 = c(1, 8, 2, 1, 4, 5, 3, 0, 8, 2)), .Names = c("x", "y1","y2"), row.names = c(NA, -10L), class = "data.frame")
Вы также можете выводить выбранные строки, столбцы и т. Д. Или их процент.
Для дальнейшего объяснения функции, пожалуйста, посмотрите на r faq
вопрос