Thankyou very much arun,I worked perfectly.:D
Eliza

> Date: Sat, 22 Mar 2014 13:18:21 -0700
> From: smartpink...@yahoo.com
> Subject: Re: Latest question
> To: r-help@r-project.org
> CC: eliza_bo...@hotmail.com
> 
> HI Eliza,
> No problem.
> 
> This should be faster:
> res2 <- matrix(as.vector( mat1[row.names(mat1) %in% df1$Ry,colnames(mat1) 
> %in% df1$Rx]),nrow=120, dimnames=list(NULL,colnames(res)))
> 
> identical(res,res2)
> #[1] TRUE
> A.K.
> 
> 
> 
> 
> 
> On Saturday, March 22, 2014 4:14 PM, eliza botto <eliza_bo...@hotmail.com> 
> wrote:
> 
> Thankyou very very much arun. Right now i cant have an acess to PC, as i am 
> on the move. I will run the code when i get back to home in an hour and if 
> there would be issue i'll definitely tell you.
> 
> thanks once again
> 
> Eliza 
> 
> 
> > Date: Sat, 22 Mar 2014 13:08:10 -0700
> > From: smartpink...@yahoo.com
> > Subject: Re: Latest question
> > To: r-help@r-project.org
> > CC: eliza_bo...@hotmail.com
> > 
> > Hi Eliza,
> > May be this helps:
> > 
> >  set.seed(42)
> >  mat1 <- 
> > matrix(sample(1:50,43200*720,replace=TRUE),ncol=720,dimnames=list(rep(y,each=120),
> >  x))
> >  df1 <- expand.grid(Ry=Ry,Rx=Rx)
> >   lst1 <- lapply(seq_len(nrow(df1)),function(i) {x1<- df1[i,]; 
> > mat1[row.names(mat1) %in% x1[1], colnames(mat1) %in% x1[2],drop=FALSE]})
> >  res <- do.call(cbind,lst1)
> >  dim(res)
> > #[1] 120 408
> > colnames(res) <- sapply(lst1,function(x) 
> > paste(colnames(x),unique(rownames(x)),sep="*"))
> >  row.names(res) <- NULL
> >  res[1:3,1:3]
> >  #    61.75*25.25 61.75*25.75 61.75*26.25
> > #[1,]          28           8           7
> > #[2,]           6          17          44
> > #[3,]          48          21          37
> > 
> > 
> > A.K.
> > 
> > 
> > Dear Arun, 
> >  
> > I have a data frame of  43200 obs. of  720 variables (43200 rows and 120 
> > columns), say df. Besides df, i also have two column vectors x (1 row and 
> > 720 columns) and y   
> > (360 rows and 1 column) which should be located in such a way that "x" 
> > covers the top of 720 rows of df, so in a way x is the column names of df. 
> > while "y" should be   
> > located in every 120th alternating rows of df so that it covers the entire 
> > rows of df (120*360=43200) which means y[1,]=-89.75 is the name of row 1 of 
> > df while y[2,]  
> > =-89.25 is the name of rows number 121st of df (you can assume that 
> > intermediate rows have the same names. So in way we can say that 
> > y[1,]=-89.75 is name of row1 to   
> > row120 of df and y[2,]=-89.25 is name of row 121 to 241 of df), similarly 
> > y[3,]=88.75 is the name of 241st row of df and so on untill 43200 rows of 
> > df are covered. 
> >  
> > we have two more vector, which will called refrence vectors R1 (1 row * 24 
> > columns) and R2 (1 row * 17 columns), which are some of the selected values 
> > from "x" and   
> > "y". 
> > let 
> >  
> > Rx<- c(61.75, 62.25 ,62.75, 63.25, 63.75, 64.25, 64.75, 65.25, 65.75, 
> > 66.25, 66.75, 67.25, 67.75, 68.25, 68.75, 69.25, 69.75, 70.25, 70.75, 
> > 71.25, 71.75, 72.25, 72.75,   
> > 73.25) 
> >  
> > Ry<-c(25.25, 25.75 ,26.25, 26.75, 27.25, 27.75, 28.25, 28.75, 29.25, 29.75, 
> > 30.25, 30.75, 31.25, 31.75, 32.25, 32.75, 33.25) 
> >     
> > of the "df" i only want to select those columns which have column names 
> > similar to what is written in Rx and row names similar to Ry. so in the end 
> > we should have 408   
> > column and 120 rows each containg a combination of Rx and Ry in the 
> > following manner, 
> >  
> > 61.75*25.25    61.75*25.75    61.75*26.25    
> > 61.75*26.75..........62.25*25.25    62.25*25.75    62.25*26.25    
> > 62.25*26.75  
> >  
> > 120 values    120 values    120 values    120 values        120 values    
> > 120 values    120 values    120 values 
> >  
> >  
> > > dput(x) 
> >  
> > c(-179.75, -179.25, -178.75, -178.25, -177.75, -177.25, -176.75,  
> > -176.25, -175.75, -175.25, -174.75, -174.25, -173.75, -173.25,  
> > -172.75, -172.25, -171.75, -171.25, -170.75, -170.25, -169.75,  
> > -169.25, -168.75, -168.25, -167.75, -167.25, -166.75, -166.25,  
> > -165.75, -165.25, -164.75, -164.25, -163.75, -163.25, -162.75,  
> > -162.25, -161.75, -161.25, -160.75, -160.25, -159.75, -159.25,  
> > -158.75, -158.25, -157.75, -157.25, -156.75, -156.25, -155.75,  
> > -155.25, -154.75, -154.25, -153.75, -153.25, -152.75, -152.25,  
> > -151.75, -151.25, -150.75, -150.25, -149.75, -149.25, -148.75,  
> > -148.25, -147.75, -147.25, -146.75, -146.25, -145.75, -145.25,  
> > -144.75, -144.25, -143.75, -143.25, -142.75, -142.25, -141.75,  
> > -141.25, -140.75, -140.25, -139.75, -139.25, -138.75, -138.25,  
> > -137.75, -137.25, -136.75, -136.25, -135.75, -135.25, -134.75,  
> > -134.25, -133.75, -133.25, -132.75, -132.25, -131.75, -131.25,  
> > -130.75, -130.25, -129.75, -129.25, -128.75, -128.25, -127.75,  
> > -127.25, -126.75, -126.25, -125.75, -125.25, -124.75, -124.25,  
> > -123.75, -123.25, -122.75, -122.25, -121.75, -121.25, -120.75,  
> > -120.25, -119.75, -119.25, -118.75, -118.25, -117.75, -117.25,  
> > -116.75, -116.25, -115.75, -115.25, -114.75, -114.25, -113.75,  
> > -113.25, -112.75, -112.25, -111.75, -111.25, -110.75, -110.25,  
> > -109.75, -109.25, -108.75, -108.25, -107.75, -107.25, -106.75,  
> > -106.25, -105.75, -105.25, -104.75, -104.25, -103.75, -103.25,  
> > -102.75, -102.25, -101.75, -101.25, -100.75, -100.25, -99.75,  
> > -99.25, -98.75, -98.25, -97.75, -97.25, -96.75, -96.25, -95.75,  
> > -95.25, -94.75, -94.25, -93.75, -93.25, -92.75, -92.25, -91.75,  
> > -91.25, -90.75, -90.25, -89.75, -89.25, -88.75, -88.25, -87.75,  
> > -87.25, -86.75, -86.25, -85.75, -85.25, -84.75, -84.25, -83.75,  
> > -83.25, -82.75, -82.25, -81.75, -81.25, -80.75, -80.25, -79.75,  
> > -79.25, -78.75, -78.25, -77.75, -77.25, -76.75, -76.25, -75.75,  
> > -75.25, -74.75, -74.25, -73.75, -73.25, -72.75, -72.25, -71.75,  
> > -71.25, -70.75, -70.25, -69.75, -69.25, -68.75, -68.25, -67.75,  
> > -67.25, -66.75, -66.25, -65.75, -65.25, -64.75, -64.25, -63.75,  
> > -63.25, -62.75, -62.25, -61.75, -61.25, -60.75, -60.25, -59.75,  
> > -59.25, -58.75, -58.25, -57.75, -57.25, -56.75, -56.25, -55.75,  
> > -55.25, -54.75, -54.25, -53.75, -53.25, -52.75, -52.25, -51.75,  
> > -51.25, -50.75, -50.25, -49.75, -49.25, -48.75, -48.25, -47.75,  
> > -47.25, -46.75, -46.25, -45.75, -45.25, -44.75, -44.25, -43.75,  
> > -43.25, -42.75, -42.25, -41.75, -41.25, -40.75, -40.25, -39.75,  
> > -39.25, -38.75, -38.25, -37.75, -37.25, -36.75, -36.25, -35.75,  
> > -35.25, -34.75, -34.25, -33.75, -33.25, -32.75, -32.25, -31.75,  
> > -31.25, -30.75, -30.25, -29.75, -29.25, -28.75, -28.25, -27.75,  
> > -27.25, -26.75, -26.25, -25.75, -25.25, -24.75, -24.25, -23.75,  
> > -23.25, -22.75, -22.25, -21.75, -21.25, -20.75, -20.25, -19.75,  
> > -19.25, -18.75, -18.25, -17.75, -17.25, -16.75, -16.25, -15.75,  
> > -15.25, -14.75, -14.25, -13.75, -13.25, -12.75, -12.25, -11.75,  
> > -11.25, -10.75, -10.25, -9.75, -9.25, -8.75, -8.25, -7.75, -7.25,  
> > -6.75, -6.25, -5.75, -5.25, -4.75, -4.25, -3.75, -3.25, -2.75,  
> > -2.25, -1.75, -1.25, -0.75, -0.25, 0.25, 0.75, 1.25, 1.75, 2.25,  
> > 2.75, 3.25, 3.75, 4.25, 4.75, 5.25, 5.75, 6.25, 6.75, 7.25, 7.75,  
> > 8.25, 8.75, 9.25, 9.75, 10.25, 10.75, 11.25, 11.75, 12.25, 12.75,  
> > 13.25, 13.75, 14.25, 14.75, 15.25, 15.75, 16.25, 16.75, 17.25,  
> > 17.75, 18.25, 18.75, 19.25, 19.75, 20.25, 20.75, 21.25, 21.75,  
> > 22.25, 22.75, 23.25, 23.75, 24.25, 24.75, 25.25, 25.75, 26.25,  
> > 26.75, 27.25, 27.75, 28.25, 28.75, 29.25, 29.75, 30.25, 30.75,  
> > 31.25, 31.75, 32.25, 32.75, 33.25, 33.75, 34.25, 34.75, 35.25,  
> > 35.75, 36.25, 36.75, 37.25, 37.75, 38.25, 38.75, 39.25, 39.75,  
> > 40.25, 40.75, 41.25, 41.75, 42.25, 42.75, 43.25, 43.75, 44.25,  
> > 44.75, 45.25, 45.75, 46.25, 46.75, 47.25, 47.75, 48.25, 48.75,  
> > 49.25, 49.75, 50.25, 50.75, 51.25, 51.75, 52.25, 52.75, 53.25,  
> > 53.75, 54.25, 54.75, 55.25, 55.75, 56.25, 56.75, 57.25, 57.75,  
> > 58.25, 58.75, 59.25, 59.75, 60.25, 60.75, 61.25, 61.75, 62.25,  
> > 62.75, 63.25, 63.75, 64.25, 64.75, 65.25, 65.75, 66.25, 66.75,  
> > 67.25, 67.75, 68.25, 68.75, 69.25, 69.75, 70.25, 70.75, 71.25,  
> > 71.75, 72.25, 72.75, 73.25, 73.75, 74.25, 74.75, 75.25, 75.75,  
> > 76.25, 76.75, 77.25, 77.75, 78.25, 78.75, 79.25, 79.75, 80.25,  
> > 80.75, 81.25, 81.75, 82.25, 82.75, 83.25, 83.75, 84.25, 84.75,  
> > 85.25, 85.75, 86.25, 86.75, 87.25, 87.75, 88.25, 88.75, 89.25,  
> > 89.75, 90.25, 90.75, 91.25, 91.75, 92.25, 92.75, 93.25, 93.75,  
> > 94.25, 94.75, 95.25, 95.75, 96.25, 96.75, 97.25, 97.75, 98.25,  
> > 98.75, 99.25, 99.75, 100.25, 100.75, 101.25, 101.75, 102.25,  
> > 102.75, 103.25, 103.75, 104.25, 104.75, 105.25, 105.75, 106.25,  
> > 106.75, 107.25, 107.75, 108.25, 108.75, 109.25, 109.75, 110.25,  
> > 110.75, 111.25, 111.75, 112.25, 112.75, 113.25, 113.75, 114.25,  
> > 114.75, 115.25, 115.75, 116.25, 116.75, 117.25, 117.75, 118.25,  
> > 118.75, 119.25, 119.75, 120.25, 120.75, 121.25, 121.75, 122.25,  
> > 122.75, 123.25, 123.75, 124.25, 124.75, 125.25, 125.75, 126.25,  
> > 126.75, 127.25, 127.75, 128.25, 128.75, 129.25, 129.75, 130.25,  
> > 130.75, 131.25, 131.75, 132.25, 132.75, 133.25, 133.75, 134.25,  
> > 134.75, 135.25, 135.75, 136.25, 136.75, 137.25, 137.75, 138.25,  
> > 138.75, 139.25, 139.75, 140.25, 140.75, 141.25, 141.75, 142.25,  
> > 142.75, 143.25, 143.75, 144.25, 144.75, 145.25, 145.75, 146.25,  
> > 146.75, 147.25, 147.75, 148.25, 148.75, 149.25, 149.75, 150.25,  
> > 150.75, 151.25, 151.75, 152.25, 152.75, 153.25, 153.75, 154.25,  
> > 154.75, 155.25, 155.75, 156.25, 156.75, 157.25, 157.75, 158.25,  
> > 158.75, 159.25, 159.75, 160.25, 160.75, 161.25, 161.75, 162.25,  
> > 162.75, 163.25, 163.75, 164.25, 164.75, 165.25, 165.75, 166.25,  
> > 166.75, 167.25, 167.75, 168.25, 168.75, 169.25, 169.75, 170.25,  
> > 170.75, 171.25, 171.75, 172.25, 172.75, 173.25, 173.75, 174.25,  
> > 174.75, 175.25, 175.75, 176.25, 176.75, 177.25, 177.75, 178.25,  
> > 178.75, 179.25, 179.75) 
> >  
> >  
> > > dput(y) 
> > c(-89.75, -89.25, -88.75, -88.25, -87.75, -87.25, -86.75, -86.25,  
> > -85.75, -85.25, -84.75, -84.25, -83.75, -83.25, -82.75, -82.25,  
> > -81.75, -81.25, -80.75, -80.25, -79.75, -79.25, -78.75, -78.25,  
> > -77.75, -77.25, -76.75, -76.25, -75.75, -75.25, -74.75, -74.25,  
> > -73.75, -73.25, -72.75, -72.25, -71.75, -71.25, -70.75, -70.25,  
> > -69.75, -69.25, -68.75, -68.25, -67.75, -67.25, -66.75, -66.25,  
> > -65.75, -65.25, -64.75, -64.25, -63.75, -63.25, -62.75, -62.25,  
> > -61.75, -61.25, -60.75, -60.25, -59.75, -59.25, -58.75, -58.25,  
> > -57.75, -57.25, -56.75, -56.25, -55.75, -55.25, -54.75, -54.25,  
> > -53.75, -53.25, -52.75, -52.25, -51.75, -51.25, -50.75, -50.25,  
> > -49.75, -49.25, -48.75, -48.25, -47.75, -47.25, -46.75, -46.25,  
> > -45.75, -45.25, -44.75, -44.25, -43.75, -43.25, -42.75, -42.25,  
> > -41.75, -41.25, -40.75, -40.25, -39.75, -39.25, -38.75, -38.25,  
> > -37.75, -37.25, -36.75, -36.25, -35.75, -35.25, -34.75, -34.25,  
> > -33.75, -33.25, -32.75, -32.25, -31.75, -31.25, -30.75, -30.25,  
> > -29.75, -29.25, -28.75, -28.25, -27.75, -27.25, -26.75, -26.25,  
> > -25.75, -25.25, -24.75, -24.25, -23.75, -23.25, -22.75, -22.25,  
> > -21.75, -21.25, -20.75, -20.25, -19.75, -19.25, -18.75, -18.25,  
> > -17.75, -17.25, -16.75, -16.25, -15.75, -15.25, -14.75, -14.25,  
> > -13.75, -13.25, -12.75, -12.25, -11.75, -11.25, -10.75, -10.25,  
> > -9.75, -9.25, -8.75, -8.25, -7.75, -7.25, -6.75, -6.25, -5.75,  
> > -5.25, -4.75, -4.25, -3.75, -3.25, -2.75, -2.25, -1.75, -1.25,  
> > -0.75, -0.25, 0.25, 0.75, 1.25, 1.75, 2.25, 2.75, 3.25, 3.75,  
> > 4.25, 4.75, 5.25, 5.75, 6.25, 6.75, 7.25, 7.75, 8.25, 8.75, 9.25,  
> > 9.75, 10.25, 10.75, 11.25, 11.75, 12.25, 12.75, 13.25, 13.75,  
> > 14.25, 14.75, 15.25, 15.75, 16.25, 16.75, 17.25, 17.75, 18.25,  
> > 18.75, 19.25, 19.75, 20.25, 20.75, 21.25, 21.75, 22.25, 22.75,  
> > 23.25, 23.75, 24.25, 24.75, 25.25, 25.75, 26.25, 26.75, 27.25,  
> > 27.75, 28.25, 28.75, 29.25, 29.75, 30.25, 30.75, 31.25, 31.75,  
> > 32.25, 32.75, 33.25, 33.75, 34.25, 34.75, 35.25, 35.75, 36.25,  
> > 36.75, 37.25, 37.75, 38.25, 38.75, 39.25, 39.75, 40.25, 40.75,  
> > 41.25, 41.75, 42.25, 42.75, 43.25, 43.75, 44.25, 44.75, 45.25,  
> > 45.75, 46.25, 46.75, 47.25, 47.75, 48.25, 48.75, 49.25, 49.75,  
> > 50.25, 50.75, 51.25, 51.75, 52.25, 52.75, 53.25, 53.75, 54.25,  
> > 54.75, 55.25, 55.75, 56.25, 56.75, 57.25, 57.75, 58.25, 58.75,  
> > 59.25, 59.75, 60.25, 60.75, 61.25, 61.75, 62.25, 62.75, 63.25,  
> > 63.75, 64.25, 64.75, 65.25, 65.75, 66.25, 66.75, 67.25, 67.75,  
> > 68.25, 68.75, 69.25, 69.75, 70.25, 70.75, 71.25, 71.75, 72.25,  
> > 72.75, 73.25, 73.75, 74.25, 74.75, 75.25, 75.75, 76.25, 76.75,  
> > 77.25, 77.75, 78.25, 78.75, 79.25, 79.75, 80.25, 80.75, 81.25,  
> > 81.75, 82.25, 82.75, 83.25, 83.75, 84.25, 84.75, 85.25, 85.75,  
> > 86.25, 86.75, 87.25, 87.75, 88.25, 88.75, 89.25, 89.75) 
> >  
> > > dput(Rx) 
> >  
> > c(61.75, 62.25, 62.75, 63.25, 63.75, 64.25, 64.75, 65.25, 65.75,  
> > 66.25, 66.75, 67.25, 67.75, 68.25, 68.75, 69.25, 69.75, 70.25,  
> > 70.75, 71.25, 71.75, 72.25, 72.75, 73.25) 
> >  
> > > dput(Ry) 
> >  
> > c(25.25, 25.75, 26.25, 26.75, 27.25, 27.75, 28.25, 28.75, 29.25,  
> > 29.75, 30.25, 30.75, 31.25, 31.75, 32.25, 32.75, 33.25)
> > 
> > 
> > 
> > 
> > On Saturday, March 22, 2014 12:45 PM, eliza botto <eliza_bo...@hotmail.com> 
> > wrote:
> > 
> > 
> > Dear Arun,
> > 
> > I have attached my latest question with this email. I hope you me out on it.
> > Thanks in advance
> > 
> > Eliza
                                          
        [[alternative HTML version deleted]]

______________________________________________
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.

Reply via email to