我正在为演示分发R代码脚本,需要编辑脚本中嵌入的原始数据。数据被输入到一系列数字向量中,这些向量被加载到数据帧中。问题是,原始数据也是我的实验数据,我宁愿不传播它。
一旦将数据加载到R中,就很容易对数据进行转换。但是,我想以一种格式输出转换后的数据,我可以轻松地将其复制/粘贴回原始源代码中以代替原始数据。我想我可以通过在forloop迭代数据框内的paste()和gsub()的组合来做到这一点,但我想知道是否有更简单的方法。 This thread让我看看dump()函数,但我还没弄明白如何让它工作。还有其他想法吗?谢谢!
如图所示,这是我的代码所在的格式:
> dat1<-c(4,6,7,8,2,4,5,9)
> dat2<-c(7,7,6,7,8,5,5,4)
> df<-data.frame(dat1,dat2)
> df
dat1 dat2
1 4 7
2 6 7
3 7 6
4 8 7
5 2 8
6 4 5
7 5 5
8 9 4
转换数据后,我需要以我可以插入源代码的格式输出df
的内容,而不是dat1<-c(4,6,7,8,2,4,5,9)
答案 0 :(得分:1)
dput
“写入R对象的ASCII文本表示”
> dput(df)
structure(list(dat1 = c(4, 6, 7, 8, 2, 4, 5, 9), dat2 = c(7,
7, 6, 7, 8, 5, 5, 4)), .Names = c("dat1", "dat2"), row.names = c(NA,
-8L), class = "data.frame")
> rm(df)
> df <- structure(list(dat1 = c(4, 6, 7, 8, 2, 4, 5, 9), dat2 = c(7,
+ 7, 6, 7, 8, 5, 5, 4)), .Names = c("dat1", "dat2"), row.names = c(NA,
+ -8L), class = "data.frame")
> df
dat1 dat2
1 4 7
2 6 7
3 7 6
4 8 7
5 2 8
6 4 5
7 5 5
8 9 4