Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R中的lappy函数:删除行中名称重复的列_R_Database_Lapply - Fatal编程技术网

R中的lappy函数:删除行中名称重复的列

R中的lappy函数:删除行中名称重复的列,r,database,lapply,R,Database,Lapply,我正在计算数据帧的分位数、三均值等 table1 <- data.frame( "Q25"= stack(lapply(database_PE[4:7], quantile, prob = c(0.25))), "Q50"= stack(lapply(database_PE[4:7], quantile, prob = c(0.50))), "Q75"= stack(lapply(database_PE[4:7], q

我正在计算数据帧的分位数、三均值等

table1 <- data.frame(
  "Q25"= stack(lapply(database_PE[4:7], quantile, prob = c(0.25))),
  "Q50"= stack(lapply(database_PE[4:7], quantile, prob = c(0.50))),
  "Q75"= stack(lapply(database_PE[4:7], quantile, prob = c(0.75))), 
  "IQR" = stack(lapply(database_PE[4:7], IQR)),
  "Trimean" = stack(lapply(database_PE[4:7], trimean)),
  "Skewness" = stack(lapply(database_PE[4:7], skewness)))

尽管如此,我仍在试图找到一种方法来删除行名为Air.Temp.Max、Air.Temp.Min、Air.Temp.Mean和deposition.Total的重复列。我应该在lappy函数中写些什么来去掉这些列?

您可以在一个
lappy
调用中完成此操作并绑定数据集

data <- do.call(rbind.data.frame, lapply(database_PE[4:7], function(x) 
  c(quantile(x, probs = c(0.25, 0.5, 0.75)), IQR(x), trimean(x), skewness(x))))
names(data) <- c('Q25', 'Q50', 'Q75', 'IQR', 'trimness', 'skewness')

data我怎样才能在do.call函数中添加na.rm=TRUE?我认为
do.call
不需要
na.rm
,但是你需要为像
IQR(x,na.rm=TRUE)
data <- do.call(rbind.data.frame, lapply(database_PE[4:7], function(x) 
  c(quantile(x, probs = c(0.25, 0.5, 0.75)), IQR(x), trimean(x), skewness(x))))
names(data) <- c('Q25', 'Q50', 'Q75', 'IQR', 'trimness', 'skewness')
data$rowname <- rownames(data)