请参阅下面的代码。代码没有显示准确的值,因为它在新的var标题中被设置为“Others”:
extractTitle<- function(name){
name<-as.character(name)
if (length(grep("Miss.",name))>0){
return("Miss.")
}else if (length(grep("Master.",name))>0){
return("Master.")
}else if (length(grep("Mrs.",name))>0){
return("Mrs.")
}else if (length(grep("Mr.",name))>0){
return("Mr.")
}else {
return("Other")
}
}
titles<- NULL
for (i in 1:nrow(data.combined)){
titles<- c(titles,extractTitle(data.combined[i,"name"]))
}
data.combined$title<- as.factor(titles)
请告知问题在哪里。
答案 0 :(得分:0)
当您使用简单的测试数据(“foobar”,“fooMaster.bar”“Master.bar”,“fooMaster”等)尝试时,您的代码适用于我。所以问题可能在于如何处理函数的数据集。例如,如果拼错了“name”列访问权限,则会对函数处理NULL,这反过来会导致“Other”被传回。
PS:很抱歉发布这个作为答案,但我还是太低了评论:)