我有一些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 :(得分: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))} )