我需要删除元素(我正在用误差线绘制,所以我需要从下面的所有四个向量中删除该数据点),其中diff
向量大于 2*std。这是我的想法:
for (i in 1:length(Z)){
if (diff[[i]]>=(2*std)){
Z[[i]] <- NULL
ucl[[i]] <- NULL
lcl[[i]] <- NULL
x[[i]] <- NULL
}
}
for循环在第一次进入if语句后就完全停止了。我完全自学了 R,所以请像我几乎什么都不知道一样回答我。
不要使用 for 循环。如果您想用 NA 替换某些值,请执行以下操作:
Z[diff >= 2*std] = NA
或者,如果您只想过滤掉不满足条件的行,则仅对所需的行进行子集化:
Z <- Z[diff < 2*std]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)