我有一个df:
年|舞台| Home.Team.Name | Home.Team.Goals | Away.Team.Name | Away.Team.Goals
1998 | A组|巴西.................. | 2 ............................ |苏格兰............... | 1
等等。
我要做的是根据每个游戏的结果创建一个新列。因此,获奖者名称将显示在新列中。我目前的代码是:
RecentWorldCups$Game.Winner <- ifelse(RecentWorldCups$Home.Team.Goals>RecentWorldCups$Away.Team.Goals, RecentWorldCups$Home.Team.Name,
ifelse(RecentWorldCups$Away.Team.Goals>RecentWorldCups$Home.Team.Goals, RecentWorldCups$Away.Team.Name,
"Draw"))
结果是它给了我一个数字(可能是一个因子数?)而不是团队的名字。
任何人都可以提供帮助吗? 干杯
答案 0 :(得分:1)
您需要从因子列中提取字符级别值。试试这个:
RecentWorldCups <- data.frame(Home.Team.Goals=c(...), ..., stringsAsFactors=FALSE)
如果您发现执行这些因子转换很麻烦,那么一种解决方法是创建数据框,其中所有字符串都设置为不是因素,例如:像这样的东西:
"^Item\\s+\\d{1,2}\\."