2016-06-07 33 views
-2

我有一些dfs,我需要計算分位數以便分位數從0到所有dfs的最大值。之後,我想通過上限95百分位來創造休息。如果我爲每個df單獨做某事,可以像下面那樣完成,但我需要在飛行中考慮這一點,並考慮所有dfs的最大值。從數據框列表中分位數

編輯:x是一個有400列和幾千行的df。我將有多個具有相同列數但具有不同行數的這種dfs。

library(gplots) 
quantile.range <- quantile(as.matrix(x), probs = seq(0, 1, 0.01)) 
palette.breaks <- seq(quantile.range["0%"], quantile.range["99%"], .001) 
mycol <- colorpanel(n=length(palette.breaks)-1,low="white",mid="blue",high="red") 

我曾嘗試申請lapply但似乎有在我的命令一些問題:

dfList<-paste0("df", 1:10) 
quantile.range <- lapply(dfList, function(x) {quantile(as.matrix(x), probs = seq(0, 1, 0.01))}) 

任何想法?

+0

您可以使這種可重複性?什麼是'x'?此外,'colorpanel'需要哪些包,並且與問題有關? – JasonAizkalns

+0

@JasonAizkalns:對不起。我已經在df結構和庫中添加了一些額外的信息。 – Sudhir

+0

任何錯誤信息? – zyurnaidi

回答

1

嗯,看起來在你的lapply你處理x,這是一個字符而不是data.frame。你有沒有試過get

dfList<-paste0("df", 1:10) 
quantile.range <- lapply(dfList, function(x) {quantile(as.matrix(get(x)), probs = seq(0, 1, 0.01))}) 
+0

@zymunaidi:謝謝,雖然我正在尋找創建一個包含所有dfs的單分位數,但這很有用。但它以某種方式幫助到達那裏。再次感謝。 – Sudhir

+0

@Sudhir我明白了。很高興它有幫助。如果您發現問題的解決方案,請考慮通過提供答案分享 – zyurnaidi

相關問題