On Apr 25, 2010, at 11:30 PM, robert lee wrote:

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

I hope you are making progress on your own, because you are using non- base functions and not telling us where they came from and still have not offered the requested information from the last post. I cannot see where you made any assignments to x or y, so I am in the dark entirely. Read the Posting Guide, indicate where non-base functions come from and post more details if you want more help.

(And learn to post in plain text, please, as noted in Posting Guide.)

--
David.

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



David Winsemius, MD
West Hartford, CT

______________________________________________
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