使用脚本将 dput 加载到 R
Loading a dput into R using a script
创建可重现示例时,我经常想使用 put()
:
输出 data.frame
或类似内容
my_data <- structure(list(pr_id = c("X1626", "X1689", "X1818", "X2044",
"X1572"), t1 = c("PID", "WRC", "PID", "PID", "PID"), t2 = c("PRO",
"DEC", "ECV", "PRO", "PRO"), t3 = c("REF", "", "ECV", "SMK",
"REF"), t4 = c("ECV", "", "ECV", "SMK", "SMK"), t5 = c("SMK",
"", "ECV", "ECV", "SMK"), t6 = c("SMK", "", "SMK", "", "TEA"),
t7 = c("DEC", "", "DEC", "", "SMK"), t8 = c("", "", "REF",
"", "SMK"), t9 = c("", "", "SMK", "", "TEA"), t10 = c("",
"", "", "", "SMK"), t11 = c("", "", "", "", "SMK"), t12 = c("",
"", "", "", "SMK"), t13 = c("", "", "", "", "SMK"), t14 = c("",
"", "", "", "DEC")), .Names = c("pr_id", "t1", "t2", "t3",
"t4", "t5", "t6", "t7", "t8", "t9", "t10", "t11", "t12", "t13",
"t14"), row.names = c(NA, 5L), class = "data.frame")
但是,当我尝试加载数据时,它要求我提供一个文件:
my_data_loaded <- dget(my_data)
Error in parse(file = file, keep.source = keep.source) :
'file' must be a character string or connection
我怎样才能轻松地创建一个 dput
然后再次加载它以创建一个可重现示例的脚本?我想避免将其保存为文件,而只是 运行 将整个内容保存为脚本。
你把事情搞得太复杂了 -- 查看 dput()
的帮助和示例。
它的输出应该复制到一个新的任务中。这可以这么简单:
R> ## let us create an object x
R> x <- c(a=1.23, b=42.3)
R> x
a b
1.23 42.30
R> dput(x)
structure(c(1.23, 42.3), .Names = c("a", "b"))
R>
R> ## now use the dput() output in an assignment
R> y <- structure(c(1.23, 42.3), .Names = c("a", "b"))
R>
R> ## and lo and behold:
R> identical(x, y)
[1] TRUE
R>
创建可重现示例时,我经常想使用 put()
:
data.frame
或类似内容
my_data <- structure(list(pr_id = c("X1626", "X1689", "X1818", "X2044",
"X1572"), t1 = c("PID", "WRC", "PID", "PID", "PID"), t2 = c("PRO",
"DEC", "ECV", "PRO", "PRO"), t3 = c("REF", "", "ECV", "SMK",
"REF"), t4 = c("ECV", "", "ECV", "SMK", "SMK"), t5 = c("SMK",
"", "ECV", "ECV", "SMK"), t6 = c("SMK", "", "SMK", "", "TEA"),
t7 = c("DEC", "", "DEC", "", "SMK"), t8 = c("", "", "REF",
"", "SMK"), t9 = c("", "", "SMK", "", "TEA"), t10 = c("",
"", "", "", "SMK"), t11 = c("", "", "", "", "SMK"), t12 = c("",
"", "", "", "SMK"), t13 = c("", "", "", "", "SMK"), t14 = c("",
"", "", "", "DEC")), .Names = c("pr_id", "t1", "t2", "t3",
"t4", "t5", "t6", "t7", "t8", "t9", "t10", "t11", "t12", "t13",
"t14"), row.names = c(NA, 5L), class = "data.frame")
但是,当我尝试加载数据时,它要求我提供一个文件:
my_data_loaded <- dget(my_data)
Error in parse(file = file, keep.source = keep.source) :
'file' must be a character string or connection
我怎样才能轻松地创建一个 dput
然后再次加载它以创建一个可重现示例的脚本?我想避免将其保存为文件,而只是 运行 将整个内容保存为脚本。
你把事情搞得太复杂了 -- 查看 dput()
的帮助和示例。
它的输出应该复制到一个新的任务中。这可以这么简单:
R> ## let us create an object x
R> x <- c(a=1.23, b=42.3)
R> x
a b
1.23 42.30
R> dput(x)
structure(c(1.23, 42.3), .Names = c("a", "b"))
R>
R> ## now use the dput() output in an assignment
R> y <- structure(c(1.23, 42.3), .Names = c("a", "b"))
R>
R> ## and lo and behold:
R> identical(x, y)
[1] TRUE
R>