datas[1:n_row, ]
IBOV ABEV3 AEDU3 ALLL3
1 2000-01-03 1.0120990 0.0000000 0 0
2 2000-01-04 0.9860183 0.1463091 0 0
3 2000-01-05 0.9565528 0.1876168 0 0
4 2000-01-06 0.9286969 0.2059637 0 0
5 2000-01-07 0.9163109 0.1996892 0 0
6 2000-01-10 0.8943083 0.2147309 0 0
我正在使用:
MIN = apply(EWMA_SD252[,2:102],1,min)
创建另一个行最小值矩阵,但我想得到除0以外的MIN值(值总是正数) 任何想法?
答案 0 :(得分:2)
对x>0
使用简单的逻辑提取:
MIN = apply(EWMA_SD252[,2:102], 1, function(x) min(x[x>0]))
答案 1 :(得分:1)
另一种选择是用最大值替换0值,然后保持相同的代码逐行获取。
mat[mat==0] <- max(mat)
apply(mat,1,min)