我有两个向量,一个是连续的,一个是分类的。
首先,我无法生成分类向量,因此我只是以与 t
相同的方式生成 (tt)。
我想编写一个函数,它取向量t
的中值
然后检查向量 t
的每个值,如果它>=中位数
,则将tt
分配给low
,否则到 high
并以某种方式绘制结果。
到目前为止我做了如下:
set.seed(123)
t<- rnorm(100)
tt<- rnorm(100)
# calculate the median of t
mer<- median(t)
if If mer(i) <= median
tt assigned to low
if mer(i) > median
tt assigned to high
然后我想绘制结果。
最佳答案
根据 acrun 和 nico 的建议,您可以使用 ifelse
:
hl = ifelse(tt>mer, 'high', 'low')
然后绘制:
plot(t, tt, col=ifelse(hl=="high", "red", "blue"))
legend("topright", legend=c("high", "low"), fill=c("red", "blue"))
关于r - 根据另一个向量将一个向量分配给两个类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28829357/