我有一个for循环,该循环遍历数据库并将所需的元素返回到向量中,但是某些元素返回为“ integer(0)”,有一种方法可以将它们最初打印为“ 0” 'integer(0)'
我试图将整数(0)切换为NA,但是没有运气。
ageStart = c()
for(i in CancerMet) {
x <- dbGetQuery(conn, paste('SELECT * FROM table WHERE Person = ', i, ';'))
info = fromJSON(x$info)
indx <- as.data.frame(info$dx)
inrx <- as.data.frame(info$rx)
beforedata <- indx[indx[,1]==4591,]
start <- head(beforedata[,2],1)
print(start)
**startAge <- c(startAge, capture.output(start))**
}
ageEventStarts <- as.data.frame(startAge)
现在,我得到了一个具有一些Integer(0)输出的向量,但是我想将向量中的integer(0)输出替换为0。要获得仅包含数字信息的向量。带有**的部分显示integer(0)输出。
答案 0 :(得分:0)
检查length
中的beforedata
很有帮助
for(i in CancerMet) {
x <- dbGetQuery(conn, paste('SELECT * FROM table WHERE Person = ', i, ';'))
info = fromJSON(x$info)
indx <- as.data.frame(info$dx)
inrx <- as.data.frame(info$rx)
beforedata <- indx[indx[,1]==4591,]
if (length(beforedata) > 0)
start <- head(beforedata[,2],1)
else
start <- 0
print(start)
startAge <- c(startAge, capture.output(start))
}
ageEventStarts <- as.data.frame(startAge)