我在R中有一个逻辑向量,如下所示:
[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE
[19] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[37] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[55] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[73] FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
我想构造另一个数字向量,如果逻辑向量为true,则包含1;如果逻辑向量为false,则包含0。我尝试了以下代码
## create an empty vector
numericvec <- vector(mode="numeric", length=0)
## for loop
for (i in logicvec){
if(i == TRUE){
c(numericvec, 1)
} else {
c(numericvec, 0)
}
}
for循环语法似乎还可以,因为我在运行它时没有收到错误,但是当前没有将任何值添加到数值向量中。
答案 0 :(得分:1)
这应该有效:
int[] array=new int[3];
{
array[0]=0;
array[1]=1;
array[2]=2;
}
不需要numericvec <- as.numeric(logicvec)
循环。 R通常在整列上运行。