我有一个看起来像这样的矩阵
1 2 8
2 2 9
3 1 10
4 5 10
5 2 12
现在,我想在行的第三列上应用某些函数,这些函数的第二列具有特定值。因此,例如,我只想考虑第二列中有2
的行。然后,我想得到均值,中位数和方差8,9,12。
实际上,我的矩阵更大,但这是基本思想。我想我需要一个函数,该函数首先检查第二列中的值,然后仅考虑与给定值对应的第三列中的值。我做了这样的事情,但是它只是出于平均目的,实际上是一种浪费,因为该功能已经内置在R中。
这是这样的:
average<- function(m){
k=0
for (i in 1:nrow(x)){
if(x[i,2]==m){
k = k + x[i,3]
} else {NULL}
amount <- sum(x[,2]==m)
}
av <- k/amount
return(av)}
答案 0 :(得分:1)
which(mat[, 2] == 2)
由内而外地工作,首先确定与第二列中的第二列= 2 mat[, 3][...]
相对应的索引。然后,使用mean()
将这些索引的第3列子集化,最后取其List<String> cookies = response.getHeaders().get(HttpHeaders.SET_COOKIE);
HttpHeaders requestHeaders = new HttpHeaders();
for (String cookie : cookies) {
requestHeaders.add("Cookie", cookie);
}
。
答案 1 :(得分:0)
类似mean(subset(df,column2name==2)[,3])
的东西吗?
还是mean(df$column3name[df$column2name==2])
?
对于纯矩阵mean(df[df[,2]==2,3])
。