我有从csv导出的R中的数据。第一列包含日期,另外20列包含20个不同国家的汇率。我如何找到每个国家的汇率平均值?我使用了sapply
作为数据,但没有起作用,因为第一列,日期不是数字。如何查找r中所有数字列的均值,并使用一个非数字列?
然后我尝试删除日期列使用ExRate$date<-NULL
,然后使用sapply(ExRate,mean)
。我得到了与上面相同的错误。
请指导我如何去做这件事?
我有从csv导出的R中的数据。第一列包含日期,另外20列包含20个不同国家的汇率。我如何找到每个国家的汇率平均值?我使用了sapply
作为数据,但没有起作用,因为第一列,日期不是数字。如何查找r中所有数字列的均值,并使用一个非数字列?
然后我尝试删除日期列使用ExRate$date<-NULL
,然后使用sapply(ExRate,mean)
。我得到了与上面相同的错误。
请指导我如何去做这件事?
我想你可以只子集断第一日期列:
ex_means <- sapply(ExRate[, 2:21], mean)
如果您不确定的日期列的位置是什么,那么你也可以词组上面使用的所有列除了对于日期列:
ex_means <- sapply(ExRate[, -which(names(ExRate) == "date")])
' sapply(ExRate [,-1],mean)'在第一个例子中可能会更简单。 – thelatemail
我们可以使用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
[R For循环列均值]的可能的复制(https://stackoverflow.com/questions/40596947/r-for-loops-column-means) –