【发布时间】:2016-09-06 20:51:36
【问题描述】:
我有一个这样的矩阵:
a b c d
[1] as ac ad ae
[2] bd bf bg bh
[3] NA cf cd ce
[4] NA NA dr dy
[5] NA NA NA ej
我想根据 50% 的观察结果将每一列单独分成一个矩阵或列表,所以我希望我的输出如下所示:
a b c d
[1] as ac ad ae
[2] NA bf bg bh
[3] NA NA NA ce
到目前为止,我习惯于为没有 NA 的单独列编码。
mv.s <- subset(mv, mv <= quantile(mv, 0.5))
现在我正在考虑使用类似的东西
for (i in 1:15) {
mv.s[[i]] <- subset(mv[[i]], mv <= quantile(mv, 0.5))
}
但是,当我这样做时,我会收到警告:
quantile.default(mv, 0.5) 中的错误: 如果 'na.rm' 为 FALSE,则不允许缺少值和 NaN
当我尝试这段代码时:
for (i in 1:15) {
mv.s[[i]] <- subset(mv[[i]], mv <= quantile(mv[[i]], 0.5))
}
我明白了
(1 - h) * qs[i] 中的错误:二元运算符的非数字参数
任何帮助将不胜感激。
【问题讨论】:
-
您是否关心观察结果是否有序,或者是否可以是 50% 观察结果的随机样本?
-
一个随机样本工作得很好,因为我稍后会将它与另一个矩阵相交。
-
是的,这是 class(mv) 命令告诉我的