for循环中的错误 k

for循环中的错误 k,r,R,您没有告诉我们代码产生的错误。但有几点意见: R区分大小写Else与Else不同,Else不正确 您不能在else之前关闭if语句 不需要显式地在列上循环 您可能想要 ##提取要操作的列 pp你能展开问题来解释错误是在哪里产生的吗?读这个!由于疏忽而否决。。。如果情况有所改善,我们将继续投票。各位,对不起,我正忙着工作。但他纠正了错误。下面是代码:for(i in c(5:18)){pharma[,i][pharma[,i]==“#N/A”]谢谢保罗,找到了一条出路,下面是新代码:for(i

您没有告诉我们代码产生的错误。但有几点意见:

  • R区分大小写
    Else
    Else
    不同,
    Else
    不正确
  • 您不能在
    else
    之前关闭
    if
    语句
  • 不需要显式地在列上循环
您可能想要

##提取要操作的列

pp你能展开问题来解释错误是在哪里产生的吗?读这个!由于疏忽而否决。。。如果情况有所改善,我们将继续投票。各位,对不起,我正忙着工作。但他纠正了错误。下面是代码:for(i in c(5:18)){pharma[,i][pharma[,i]==“#N/A”]谢谢保罗,找到了一条出路,下面是新代码:for(i in c(5:18)){pharma[,i][pharma[,i]==“#N/A”]如果这回答了您的问题,我会将其作为一个单独的答案添加,描述您为解决此问题所做的工作,发布代码,并将其作为正确答案接受。
k<-21;

for(i in 5:k)
{
pharma[,i][pharma[,i]=="#N/A"]<- NA
pharma[,i][pharma[,i]=="NM"]<- NA
num<-sum(is.na(pharma[,i]))
n=1-num/length(pharma[,i])

if(n<0.8) {
rm(pharma[,i])
Else n=0
}
}
## extract the columns to manipulate
pp <- pharma[,5:21]
## set relevant values to NA
pp <- lapply(pp,function(x) x[x %in% c("#N/A","NM")] <- NA)
## estimate fraction NA and test
badcols <- colMeans(is.na(pp))>0.2
## remove bad columns
pp <- pp[,!badcols]
## put the manipulated stuff back together with the original structure
pharma <- cbind(pharma[,1:4],pp)