当我运行下面的代码时,出现错误:“Error in if (mm[[j]] == mm[[j + 1]]) { : 需要 TRUE/FALSE 时缺少值“
关于如何解决这个问题的任何想法
m <- matrix(c(1:5,NA,7,7,NA),
nrow=3,ncol=3,byrow=T)
print(m)
for ( i in 1:dim(m)[[1]] ) {
mm <- sort(m[i,],na.last=c(NA,NA,T)[[i]])
for ( j in 1:(length(mm)-1) ) {
if ( mm[[j]]==mm[[j+1]] ) {
cat(i,j,mm[[j]],fill=T)
}
}
}
尝试将
isTRUE()
包裹在您的 if
周围 - 状况:
for ( i in 1:dim(m)[[1]] ) {
mm <- sort(m[i,],na.last=c(NA,NA,T)[[i]])
for ( j in 1:(length(mm)-1) ) {
if ( isTRUE(mm[[j]]==mm[[j+1]]) ) {
cat(i,j,mm[[j]],fill=T)
}
}
}
输出:
3 1 7
打印(消息)
#加载 mtcars 数据集 数据(mtcars) #创建 mpg 变量的直方图 hist(mtcars$mpg, Breaks=10, main="MPG 直方图",xlab="MPG")