我在从csv导出的R中有数据。第一列包含日期,其他20列包含20个不同国家/地区的汇率。我如何找到每个国家的汇率平均值?我使用sapply
作为数据但是没有作为第一列,日期不是数字。
然后,我尝试使用ExRate$date<-NULL
删除日期列,然后使用sapply(ExRate,mean)
。我得到了与上面相同的错误。
请指导我如何解决这个问题?
答案 0 :(得分:4)
我们可以使用summarise_if
library(dplyr)
ExRate %>%
summarise_if(is.numeric, mean)
作为可重复的例子
data(iris)
iris %>%
summarise_if(is.numeric, mean)
# Sepal.Length Sepal.Width Petal.Length Petal.Width
#1 5.843333 3.057333 3.758 1.199333
答案 1 :(得分:3)
我认为您可以只关注第一个日期列:
ex_means <- sapply(ExRate[, 2:21], mean)
如果您不确定日期列的位置是什么,那么您也可以将上述内容称为使用除之外的所有列作为日期列:
ex_means <- sapply(ExRate[, -which(names(ExRate) == "date")])