是否有更"有思想"的方式来有效地进行二分法?谢谢.
y<-c(0,3,2,1,0,0,2,5,0,1,0,0);b<-vector()
for (k in 1:length(y)) {
if (y[k] == 0) b[k] = 0
else
b[k] = 1
}
y;b
Run Code Online (Sandbox Code Playgroud)
试试这个:
b <- rep(0, length(y))
b[y != 0] <- 1
Run Code Online (Sandbox Code Playgroud)
这是有效的,因为y和b的大小相同,rep()非常快/矢量化.
编辑:这是另一种方法:
b <- ifelse(y == 0, 0, 1)
Run Code Online (Sandbox Code Playgroud)
ifelse()函数也是矢量化的.
| 归档时间: |
|
| 查看次数: |
401 次 |
| 最近记录: |