【发布时间】:2015-05-27 15:32:12
【问题描述】:
我创建了一个函数,但出现了一些错误。但是,可以忽略这些错误。是否有任何功能可以用来跳过错误并继续按原样处理该功能?谢谢!
我使用 try 语句创建了一个函数,但仍然出现错误:
#Function to merge the data with the code descriptions.
myfunction = function(mydata){
##Sets the variables to factors to merge with the code descriptions.
mydata[] <- lapply(mydata, factor)
##Adds "ID" to the end of all the variables to make the merges compatible.
names(mydata) <- paste(names(mydata), "ID", sep = "")
##Uses the dplyr package to make the merges for the variables needed.
try(mydata = mydata %>% left_join(dischargestatuscode, by = "DischargeStatusID") %>% select(-DischargeStatusID, -Code))
try(mydata = mydata %>% left_join(statecode, by = "StateID") %>% select(-StateID, -Code))
try(mydata = mydata %>% left_join(gendercode, by = "GenderID") %>% select(-GenderID, -Code))
try(mydata = mydata %>% left_join(racecode, by = "RaceID") %>% select(-RaceID, -Code))
try(mydata = mydata %>% left_join(agecode, by = "AgeID") %>% select(-AgeID, -Code, -(MinAge:MaxAge)))
try(mydata = mydata %>% left_join(diagnosistypecode, by = "DiagnosisCodeTypeID") %>% select(-DiagnosisCodeTypeID, -Code))
try(mydata = mydata %>% left_join(hcpcscode, by = "HCPCCodeID") %>% select(-HCPCCodeID, -Code))
try(mydata = mydata %>% left_join(countycode, by = "CountyID") %>% select(-CountyID, -Code, -StateID))
try(mydata = mydata %>% left_join(admissionsourcecode, by = "AdmissionSourceID") %>% select(-AdmissionSourceID, -Code))
try(mydata = mydata %>% left_join(admissiontypecode, by = "AdmissionTypeID") %>% select(-AdmissionTypeID, -Code))
try(mydata = mydata %>% left_join(msdrgcodes, by = "ClaimRelatedDRGID") %>%
select(-ClaimRelatedDRGID, -Code, -MdcCategoryID, -type))
try(mydata = mydata %>% left_join(nchpatientstatuscode, by = "NCHPatientStatusID") %>% select(-NCHPatientStatusID, -Code))
##If there is a ICDAccessCode column, the first function works, if there is a ProcedureID column the second function works.
try(mydata = mydata %>% left_join(icd9codes, by = "ICDAccessCodeID") %>%
select(-ICDAccessCodeID, -(ICD9Code:CodeType), -LongDescription))
try(mydata = mydata %>% left_join(icd9codes, by = "ProcedureIDID") %>%
select(-ICDAccessCodeID, -(ICD9Code:CodeType), -LongDescription, -ProcedureIDID, -ICD9Desc))
##Removes the "ID" used for compatbility.
names(mydata) <- gsub("ID", "", names(mydata))
InpatientHistory <<- mydata
}
myfunction(InpatientHistory)
我使用 try 时遇到的错误:
Error in try(mydata = mydata %>% left_join(dischargestatuscode, by = "DischargeStatusID") %>% :
unused argument (mydata = mydata %>% left_join(dischargestatuscode, by = "DischargeStatusID") %>% select(-DischargeStatusID, -Code))
【问题讨论】:
-
投反对票,没有评论
-
=不等同于<-。解析器认为您想为try指定一个参数。使用<-在try中分配。当然,如果您的某个表达式会引发错误,您可能不会得到预期的结果。您应该编写错误处理程序。并且不要使用<<-或->>。这些应该只在非常特殊的情况下使用。遵循 R 的函数式语言范式。 -
完美,谢谢大家的帮助!
标签: r