我创建了一个名为weather.info的数据框,其中月份为行,列为Monthly_Avg
,DailyMax_Avg
,DailyMin_Avg
等。问题是显示所有行DailyMax_Avg
大于50的数据框。这是我输入的内容:
subset(weather.info, DailyMax_Avg > 50)
但我收到的错误是:
Warning message:
In Ops.factor(DailyMax_Avg, 50) : ‘>’ not meaningful for factors
有人可以帮我解决这个问题吗?我对R来说很新,是第一次使用R语言。谢谢!
答案 0 :(得分:1)
在使用DailyMax_Avg
之前,您需要将subset
转换为数字。你可以做到
weather.info$DailyMax_Avg <- as.numeric(levels(weather.info$DailyMax_Avg))[weather.info$DailyMax_Avg]
请注意
建议使用as.numeric(levels(weather.info$DailyMax_Avg))[weather.info$DailyMax_Avg]
(并且比as.numeric(as.character(weather.info$DailyMax_Avg))
更有效)将因子转换为数字。有关详细信息,请参阅?factor
(警告部分)
答案 1 :(得分:0)
首先将DailyMax_Avg
转换为数字:
weather.info$DailyMax_Avg <- as.numeric(as.character(weather.info$DailyMax_Avg))