2014-09-19 58 views
0

我正在爲演示發佈R代碼腳本,並且需要編輯腳本中嵌入的原始數據。數據被輸入到一系列數值向量中,並被加載到數據幀中。問題是,原始數據也是我的實驗數據,我寧願不傳播它。從R輸出新的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

你在找'dput'嗎? – GSee 2014-09-19 01:16:24

+0

是的,這就是它!謝謝!順便說一句,你可以發佈這個答案,我可以接受它嗎? – user3658874 2014-09-19 01:19:24

回答

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