【发布时间】:2015-05-31 19:41:53
【问题描述】:
假设我创建了以下向量:
x = c(1, 3, 5, 0, 7, 8, 0, 4, 5, 0, 8)
x
我想把非零变成一:
for ( i in 1:length(x) ){
if (x[i]!=0) x[i] = 1}
x
这很好用,但我想知道是否有人可以想出一种数学方法来执行此操作,而不是使用 if 语句。
【问题讨论】:
-
使用
c创建向量 - 不是rbind -
除非您明确什么是“数学”与“非数学”,否则不会
-
类似 x/x 的东西由于 0/0 问题而无法工作。如果可能的话,我希望能够为这个操作写一个数学表达式。
标签: r if-statement vector