我想分享一些軟件作爲一個軟件包,但是我的一些腳本似乎並不像函數那樣很自然。例如,考慮下面的代碼塊,其中'raw.df'是包含離散和連續類型的變量的數據幀。函數'count.unique'和'squash'將在包中定義。該腳本將數據框分成兩個框架,'cat.df'被視爲分類數據,'cts.df'被視爲連續數據。在R軟件包中包含R腳本
我的想法是,用戶可以讀取數據框'raw.df',獲取腳本,然後交互編輯'cat.df'和'cts.df',也許組合一些分類和變換一些變量。
dcutoff <- 9
tail(raw.df)
(nvals <- apply(raw.df, 2, count.unique))
p <- dim(raw.df)[2]
(catvar <- (1:p)[nvals <= dcutoff])
p.cat <- length(catvar)
(ctsvar <- (1:p)[nvals > dcutoff])
p.cts <- length(ctsvar)
cat.df <- raw.df[ ,catvar]
for (i in 1:p.cat) cat.df[ ,i] <- squash(cat.df[ ,i])
head(cat.df)
for(i in 1:p.cat) {
cat(as.vector(table(cat.df[ ,i])), "\n")
}
cts.df <- raw.df[ ,ctsvar]
for(i in 1:p.cts) {
cat(quantile(cts.df[ ,i], probs = seq(0, 1, 0.1)), "\n")
}
現在,這當然可以作爲函數返回一個包含nvals,p,p.cat,cat.df等的列表;然而這對我來說似乎相當難看。然而,將腳本包含在軟件包中的唯一條件似乎是'demo'文件夾,這似乎不是正確的方法。對於如何進行的建議將非常感激。
(但感激之情不會因爲它似乎是用註釋表示感謝已棄用正式表達。)
我使用'研究所/腳本/'還能使文件真正的(可執行文件)腳本利特勒。 – 2014-09-30 03:51:09
爲什麼函數返回這些數量看起來很醜陋?是否因爲它不會像腳本中那樣打印出來?你可以使你自己的自定義打印功能做到這一點...... – Dason 2014-09-30 04:27:32
德克 - 你知道使用這種方法的包嗎? – 2014-09-30 20:59:21