Wanted to thank David and Jim for the str.   The x and y were created using the 
function below.  In one case, reshape1 returned list and other data frame.   I 
put the fix by putting the as.data.frame below 

myPivot <- function(y,x,z,m, ...){
  
  m1 <- m[c(x,y,z)] # select the the columns wanted
    
  m2 <- melt(m1, id=c(y,x))  

  pivot <- as.data.frame(reshape1(m2,list(y,x))) # time , cpu, idl
    
# hack below as pivot[y] does not work.  need to research
    
  row.names(pivot) <- pivot$time # put the time as the row names
  
  pivot <- pivot[,2:dim(pivot)[2]] # remove time from column 
  
  return(as.data.frame(pivot))
}

On Apr 25, 2010, at 11:07 PM, David Winsemius wrote:

> 
> On Apr 25, 2010, at 10:15 PM, robert lee wrote:
> 
>> I have two data frames ( x and y -- sample values below).  The rows have 
>> HH:MM:SS and columns have names of devices.
>> 
>> I am trying to find a list of 5 least used devices during recorded time 
>> period.  When apply function is used to sum on the column, I get the correct 
>> answer on data frame called x, but not for y.  The data type of return 
>> answer is different and I cannot figure out why.   Any insight into what is 
>> happening of possibly different simpler ways to do this would be appreciated.
>> 
>>> colnames(t(sort(apply(x,2,sum))[1:5]))
>> [1] "5x"   "6x"   "7x"   "4x"   "103x"
> 
> Why are you getting colnames on the transpose of x?
>> 
>> # the above returns the answer I am trying to get
>> 
>>> colnames(t(sort(apply(y,2,sum))[1:5]))
>> NULL
> 
> Again. Why get colnames on transpose?
> 
>> 
>> # the above does not
>> 
>> below is sample data and output of the apply for each
>> 
>>> x
>>        0x 1x 2x 3x 4x 5x 6x 7x 32x 33x 34x 35x 36x 37x 38x 39x 64x 65x 66x 
>> 67x 68x
>> 13:55:24 21 18 18 18 17 16 16 17  29  29  25  23  19  18  18  21  24  22  22 
>>  21  20
>> 13:55:54 16  3  3  4  4  1  1  6  40  29  16   9   6  23  19  21  27  19  29 
>>  15  19
>> 13:56:24  3  2  6  2  1  1  4  1  33  40  28  13  10   2   4  15  25  17   8 
>>  14  11
>> [ truncated .... ]
> 
> You have not told us how you constructed "x" and it is undoubtedly important. 
> We probably need at the very least the results of str(x) and str(y). This 
> looks like a zoo object which is not a data.frame.
> 
> 
>> 
>>> apply(x,2,sum)
>>  0x    1x    2x    3x    4x    5x    6x    7x   32x   33x   34x   35x   36x  
>>  37x
>> 12042 11411 11343 11237 10937 10811 10909 10911 18341 16055 14406 13770 
>> 12252 12003
>> 38x   39x   64x   65x   66x   67x   68x
>> 12266 13450 15426 14163 13913 13615 12972
> 
> So where did these extra columns come from>
> 
>> 69x   70x   71x   96x   97x   98x   99x
>> 12656 13089 13329 12671 12562 12336 12045
>> 100x  101x  102x  103x
>> 11476 11212 11066 10997
>> 
>>> y
>>        nfs6 sd0 sd1 sd30 sd31 sd36 sd6 ssd100 ssd101 ssd102 ssd103 ssd104 
>> ssd105
>> 13:55:54    0   2   0    0    0    0   0      0      0      0      0      0  
>>     0
>> 13:56:54    0   3   0    0    0    0   0      0      0      0      0      0  
>>     0
>> 13:57:54    0   1   0    0    0    0   0      0      0      0      0      0  
>>     0
>> 13:58:54    0   1   0    0    0    0   0      0      0      0      0      0  
>>     0
>> [ truncated .... ]
> 
> This might or might not be a data.frame. Doing a transpose on a data.frame 
> might have the side-effect of NULLing out the resulting colnames.
>> 
>>> apply(y,2,sum)
>> [1]    0  515    0    0    0    0    0   96    0    0    0   90    0    0    
>> 0    0
>> [17]    0    1   13   96    0   31    0    0    0    0    0    0    0    0   
>> 11    0
>> [33]    0    0   12    0    0    0    0    0    0    0   16    0    0    0   
>>  0    0
>> [49]   31    0    0    0    0    0    0    0    0   10    0    0    0    0   
>>  0    0
>> [65]    0    0    7    0    0   84  337  642 1005    0  605  518    0    0   
>>  5    0
>> [81]    0   86  335  646 1014    0  606  513    0  737  418  306  277  607  
>> 301  410
>> [97] 1690  445  432    0  738  424  315  283  608  302  411 1688  446  431   
>>  0    0
>> [113]    0    0    0   93    0    0    0    0    0    1   12    0    0
>>> 
>> ______________________________________________
>> 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.
> 
> David Winsemius, MD
> West Hartford, CT
> 


        [[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