【发布时间】:2017-08-14 22:01:12
【问题描述】:
此代码没有按照我的设计目的进行。您有什么想法吗?
vet.in <- 1:30
vet.cut <- cut(vet.in, breaks = c(0,10,20, 30), labels = c("peq", "med", "gra") )
vet.cut <- subset(vet.cut, vet.cut == c("peq", "med"))
使用subset后,带有“gra”的元素被desapear填充,带有“peq”和“med”的元素数量减少到一半,这不是本意。子集函数的目的是摆脱“gra”,而盛行“peq”和“med”
【问题讨论】:
-
vet.cut <- subset( vet.cut, vet.cut == "peq" | vet.cut=="med") -
它不起作用,因为使用
c("peq", med"),您正在寻找peq,下一个应该是med,并在向量中的所有值中迭代它。即:vet.cut == c("peq", "med")TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE -
或者干脆
vet.cut <- subset( vet.cut, vet.cut!="gra")