R中是否有任何包/命令读取data.frame,然后创建一个命令,该命令可用于创建完全相同的data.frame而无需加载数据,即,data.frame的所有数据都必须存储在命令中?
。如果有这样的数据帧:
mydata <- data.frame(col1=c(1,2),col2=c(3,4))
我只是想得到这样的命令,读取"mydata"的结果在右边的命令。
BR费边
dput
函数"将R对象的ASCII文本表示形式写入文件或连接",并且尽可能靠近右侧。它实际上包含了对象结构的更多细节,如下所示:
> dput(mydata)
structure(list(col1 = c(1, 2), col2 = c(3, 4)), .Names = c("col1",
"col2"), row.names = c(NA, -2L), class = "data.frame")
您也可以使用enquote
,它将mydata
转换回未求值的call
。然后可以用eval
求值。
> ( e <- enquote(mydata) )
# quote(list(col1 = c(1, 2), col2 = c(3, 4)))
> eval(e)
# col1 col2
# 1 1 3
# 2 2 4
> identical(eval(e), mydata)
# [1] TRUE