Hi, I would like to sort the following simple dataframe by "year" (characters), but the factor structure prevents me from doing so. How can I remove the factor structure? Thanks!> df1year country 4 2007 Asia; survey 5 2010 8 countries in E/SE Asia 6 2015 Ghana 7 8 2000 US?> str(df1)'data.frame': 5 obs. of 2 variables: $ year : Factor w/ 9 levels "2017","2016",..: 4 5 3 6 7 $ country: Factor w/ 9 levels "Euro Area\\newline Testing the MP performance of the Euro Area",..: 4 5 6 7 8> df1[order(-year), ]Error in order(-year) : object 'year' not found [[alternative HTML version deleted]]
Hi John, df1<-sapply(df1,as.character) Should do what you ask. The error message probably means that you should do this: df1<-df1[order(as.character(df1$year)),] as "year" is the name of the first column in df1, not a separate object. Jim On Tue, Nov 10, 2020 at 6:57 PM John <miaojpm at gmail.com> wrote:> Hi, > > I would like to sort the following simple dataframe by "year" > (characters), but the factor structure prevents me from doing so. How can I > remove the factor structure? Thanks! > > > df1 > year country > 4 2007 Asia; survey > 5 2010 8 countries in E/SE Asia > 6 2015 Ghana > 7 > 8 2000 US? > > str(df1) > 'data.frame': 5 obs. of 2 variables: > $ year : Factor w/ 9 levels "2017","2016",..: 4 5 3 6 7 > $ country: Factor w/ 9 levels "Euro Area\\newline Testing the MP > performance of the Euro Area",..: 4 5 6 7 8 > > df1[order(-year), ] > Error in order(-year) : object 'year' not found > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. >[[alternative HTML version deleted]]
Thanks Jim. Can we do descending order? Jim Lemon <drjimlemon at gmail.com> ? 2020?11?10? ?? ??4:56???> Hi John, > > df1<-sapply(df1,as.character) > > Should do what you ask. The error message probably means that you should > do this: > > df1<-df1[order(as.character(df1$year)),] > > as "year" is the name of the first column in df1, not a separate object. > > Jim > > On Tue, Nov 10, 2020 at 6:57 PM John <miaojpm at gmail.com> wrote: > >> Hi, >> >> I would like to sort the following simple dataframe by "year" >> (characters), but the factor structure prevents me from doing so. How can >> I >> remove the factor structure? Thanks! >> >> > df1 >> year country >> 4 2007 Asia; survey >> 5 2010 8 countries in E/SE Asia >> 6 2015 Ghana >> 7 >> 8 2000 US? >> > str(df1) >> 'data.frame': 5 obs. of 2 variables: >> $ year : Factor w/ 9 levels "2017","2016",..: 4 5 3 6 7 >> $ country: Factor w/ 9 levels "Euro Area\\newline Testing the MP >> performance of the Euro Area",..: 4 5 6 7 8 >> > df1[order(-year), ] >> Error in order(-year) : object 'year' not found >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see >> https://stat.ethz.ch/mailman/listinfo/r-help >> PLEASE do read the posting guide >> http://www.R-project.org/posting-guide.html >> and provide commented, minimal, self-contained, reproducible code. >> >[[alternative HTML version deleted]]