[R] How to swap and rearrange rows?
Dear R-expert, How to swap and rearrange the row so that I will have Jan-Dec in order? est31 p0 est.alpha est.beta est.rate Jan 0.8802867 0.7321440 7.241757 0.1380880 Mar 0.8598566 0.7096567 7.376367 0.1355681 May 0.6204301 0.8657272 6.036106 0.1656697 July 0.5032258 0.9928488 4.027408 0.2482986 Aug 0.5322581 0.9625738 4.103121 0.2437169 Oct 0.6792115 0.8526226 5.105218 0.1958780 Dec 0.8397849 0.7490287 7.070349 0.1414357 est30 p0 est.alpha est.beta est.rate Apr 0.7296296 0.7929348 6.303877 0.1586325 Jun 0.5574074 0.8588608 5.695905 0.1755647 Sept 0.607 0.9031150 4.594891 0.2176330 Nov 0.7725926 0.7600906 5.636366 0.1774193 est28 p0 est.alpha est.beta est.rate Feb 0.877262 0.6567584 8.708051 0.1148363 Thank you so much. __ R-help@r-project.org mailing list 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.
Re: [R] How to swap and rearrange rows?
How to swap and rearrange the row so that I will have Jan-Dec in order? est31 p0 est.alpha est.beta est.rate Jan 0.8802867 0.7321440 7.241757 0.1380880 Mar 0.8598566 0.7096567 7.376367 0.1355681 May 0.6204301 0.8657272 6.036106 0.1656697 July 0.5032258 0.9928488 4.027408 0.2482986 Aug 0.5322581 0.9625738 4.103121 0.2437169 Oct 0.6792115 0.8526226 5.105218 0.1958780 Dec 0.8397849 0.7490287 7.070349 0.1414357 est30 p0 est.alpha est.beta est.rate Apr 0.7296296 0.7929348 6.303877 0.1586325 Jun 0.5574074 0.8588608 5.695905 0.1755647 Sept 0.607 0.9031150 4.594891 0.2176330 Nov 0.7725926 0.7600906 5.636366 0.1774193 est28 p0 est.alpha est.beta est.rate Feb 0.877262 0.6567584 8.708051 0.1148363 Thank you so much. First, concatenate the data frames: est - cbind(est31, est30, est28) Now you can sort the resulting data frame using order, as described in FAQ on R 7.23. months - factor(rownames(est), levels=c(Jan, Feb, Mar, Apr, May, Jun, July, Aug, Sept, Oct, Nov, Dec)) sortedest - est[order(months),] (You might also want to recode 'July' to 'Jul' and 'Sept' to 'Sep' to be consistent with the other months.) Regards, Richie. Mathematical Sciences Unit HSL ATTENTION: This message contains privileged and confidential inform...{{dropped:20}} __ R-help@r-project.org mailing list 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.
Re: [R] How to swap and rearrange rows?
Another possibility: # Generate the months in sequential order: m - months(seq(as.Date('2000/1/1'), by='month',length=12),abbreviate=T) # Concatenate the data est=rbind(est31,est30,est28) # generate the right order ind - match(substr(rownames(est),1,3),m) # reorder the rows est - est[ind,] BTW, Richard meant rbind instead of cbind in his code, which I'm sure you knew. Abhijit On Fri, 16 May 2008 10:09:22 +0100 [EMAIL PROTECTED] wrote: How to swap and rearrange the row so that I will have Jan-Dec in order? est31 p0 est.alpha est.beta est.rate Jan 0.8802867 0.7321440 7.241757 0.1380880 Mar 0.8598566 0.7096567 7.376367 0.1355681 May 0.6204301 0.8657272 6.036106 0.1656697 July 0.5032258 0.9928488 4.027408 0.2482986 Aug 0.5322581 0.9625738 4.103121 0.2437169 Oct 0.6792115 0.8526226 5.105218 0.1958780 Dec 0.8397849 0.7490287 7.070349 0.1414357 est30 p0 est.alpha est.beta est.rate Apr 0.7296296 0.7929348 6.303877 0.1586325 Jun 0.5574074 0.8588608 5.695905 0.1755647 Sept 0.607 0.9031150 4.594891 0.2176330 Nov 0.7725926 0.7600906 5.636366 0.1774193 est28 p0 est.alpha est.beta est.rate Feb 0.877262 0.6567584 8.708051 0.1148363 Thank you so much. First, concatenate the data frames: est - cbind(est31, est30, est28) Now you can sort the resulting data frame using order, as described in FAQ on R 7.23. months - factor(rownames(est), levels=c(Jan, Feb, Mar, Apr, May, Jun, July, Aug, Sept, Oct, Nov, Dec)) sortedest - est[order(months),] (You might also want to recode 'July' to 'Jul' and 'Sept' to 'Sep' to be consistent with the other months.) Regards, Richie. Mathematical Sciences Unit HSL ATTENTION: This message contains privileged and confidential info...{{dropped:12}} __ R-help@r-project.org mailing list 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.
Re: [R] How to swap and rearrange rows?
This can be shortened slightly using the builtin month.abb in place of m: ind - match(substr(rownames(est), 1, 3), month.abb) On Fri, May 16, 2008 at 5:38 AM, Abhijit Dasgupta [EMAIL PROTECTED] wrote: Another possibility: # Generate the months in sequential order: m - months(seq(as.Date('2000/1/1'), by='month',length=12),abbreviate=T) # Concatenate the data est=rbind(est31,est30,est28) # generate the right order ind - match(substr(rownames(est),1,3),m) # reorder the rows est - est[ind,] BTW, Richard meant rbind instead of cbind in his code, which I'm sure you knew. Abhijit On Fri, 16 May 2008 10:09:22 +0100 [EMAIL PROTECTED] wrote: How to swap and rearrange the row so that I will have Jan-Dec in order? est31 p0 est.alpha est.beta est.rate Jan 0.8802867 0.7321440 7.241757 0.1380880 Mar 0.8598566 0.7096567 7.376367 0.1355681 May 0.6204301 0.8657272 6.036106 0.1656697 July 0.5032258 0.9928488 4.027408 0.2482986 Aug 0.5322581 0.9625738 4.103121 0.2437169 Oct 0.6792115 0.8526226 5.105218 0.1958780 Dec 0.8397849 0.7490287 7.070349 0.1414357 est30 p0 est.alpha est.beta est.rate Apr 0.7296296 0.7929348 6.303877 0.1586325 Jun 0.5574074 0.8588608 5.695905 0.1755647 Sept 0.607 0.9031150 4.594891 0.2176330 Nov 0.7725926 0.7600906 5.636366 0.1774193 est28 p0 est.alpha est.beta est.rate Feb 0.877262 0.6567584 8.708051 0.1148363 Thank you so much. First, concatenate the data frames: est - cbind(est31, est30, est28) Now you can sort the resulting data frame using order, as described in FAQ on R 7.23. months - factor(rownames(est), levels=c(Jan, Feb, Mar, Apr, May, Jun, July, Aug, Sept, Oct, Nov, Dec)) sortedest - est[order(months),] (You might also want to recode 'July' to 'Jul' and 'Sept' to 'Sep' to be consistent with the other months.) Regards, Richie. Mathematical Sciences Unit HSL ATTENTION: This message contains privileged and confidential info...{{dropped:12}} __ R-help@r-project.org mailing list 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. __ R-help@r-project.org mailing list 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.
Re: [R] How to swap and rearrange rows?
Roslina Zakaria zroslina at yahoo.com writes: How to swap and rearrange the row so that I will have Jan-Dec in order? est31 p0 est.alpha est.beta est.rate Jan 0.8802867 0.7321440 7.241757 0.1380880 Mar 0.8598566 0.7096567 7.376367 0.1355681 May 0.6204301 0.8657272 6.036106 0.1656697 July 0.5032258 0.9928488 4.027408 0.2482986 Aug 0.5322581 0.9625738 4.103121 0.2437169 Oct 0.6792115 0.8526226 5.105218 0.1958780 Dec 0.8397849 0.7490287 7.070349 0.1414357 est30 p0 est.alpha est.beta est.rate Apr 0.7296296 0.7929348 6.303877 0.1586325 Jun 0.5574074 0.8588608 5.695905 0.1755647 Sept 0.607 0.9031150 4.594891 0.2176330 Nov 0.7725926 0.7600906 5.636366 0.1774193 # Generate sample data est31 = data.frame(p0=1:3,x=2:4) rownames(est31) = c(Jan,Mar,Apr) est30 = data.frame(p0=5:7,x=3:5) rownames(est30) = c(Feb,Jun,May) # - est = rbind(est31,est30) est goodsort = c(Jan,Feb,Apr,May,Jun) est.sorted = est[goodsort,] est.sorted __ R-help@r-project.org mailing list 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.