R 使用if语句时出错
我正试图基于另一个矩阵R 使用if语句时出错,r,if-statement,statistics,R,If Statement,Statistics,我正试图基于另一个矩阵x定义一个新矩阵z。这就是我所做的: x = structure( .Data = c(5012, 3257,2638,-898,1734,2642,1828,599,-54,172, -106,4179,-1111,5270,3116,1817,-103,0,535,NA, 3410,5582,4881,2268,2594,3479,0,603,NA, NA, 5655,5900,4211,550
x
定义一个新矩阵z
。这就是我所做的:
x = structure(
.Data = c(5012, 3257,2638,-898,1734,2642,1828,599,-54,172,
-106,4179,-1111,5270,3116,1817,-103,0,535,NA,
3410,5582,4881,2268,2594,3479,0,603,NA, NA,
5655,5900,4211,5500,2159,2658,984, NA, NA, NA,
1092,8473,6271,6333,3786,-225, NA, NA, NA, NA,
1513,4932,5257,1233,2917, NA , NA, NA, NA, NA,
-557,3463,6926,1368, NA, NA, NA, NA, NA, NA,
1351,5596,6165, NA, NA, NA, NA, NA, NA, NA,
3133,2262, NA, NA, NA , NA , NA , NA, NA , NA,
2063, NA, NA, NA , NA , NA , NA, NA , NA, NA),
.Dim = c(10,10))
x = t(x)
r=ncol(x)
z = matrix(ncol = r, nrow = r)
for(i in 1:r){
for(j in 1:r){
if(x[i,j]>0){
z[i,j] = 1
}
else if(x[i,j]<0){
z[i,j] = -1
}
else {
z[i,j]=0
}
}
}
如何修复它?问题发生在
如果点击NA时
for(i in 1:r){
for(j in 1:r){
if(!is.na(x[i,j]) & x[i,j]>0){
z[i,j] = 1
}
else if(!is.na(x[i,j]) & x[i,j]<0){
z[i,j] = -1
}
else {
z[i,j]=0
}
}
}
for(1:r中的i){
对于(1:r中的j){
如果(!is.na(x[i,j])&x[i,j]>0){
z[i,j]=1
}
如果(!is.na(x[i,j])&x[i,j]当if
点击na时,问题发生了
for(i in 1:r){
for(j in 1:r){
if(!is.na(x[i,j]) & x[i,j]>0){
z[i,j] = 1
}
else if(!is.na(x[i,j]) & x[i,j]<0){
z[i,j] = -1
}
else {
z[i,j]=0
}
}
}
for(1:r中的i){
对于(1:r中的j){
如果(!is.na(x[i,j])&x[i,j]>0){
z[i,j]=1
}
如果(!is.na(x[i,j])&x[i,j]我们不能比较na值,试试这个小例子:if(na){“yes na”}或者{“no na”}
我们不能比较na值,试试这个小例子:if(na){“yes na”}或者{“no na”}