An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20120714/c0f87e01/attachment.pl>
R combining many vectors of predictable name into one date frame
2 messages · Mathew Vickers, Rui Barradas
1 day later
Hello, Try the following. ib1 <- 1:10 ib2 <- rnorm(10) hold.list <- objects(pattern="ib") df <- sapply(hold.list, get) df Note that you don't need list(), and that sapply() returns a data.frame if possible. Also, 'df' is the name of an R function, use something else like 'df1'. Hope this helps Rui Barradas Em 14-07-2012 00:51, Mathew Vickers escreveu:
G'day R (power) users, I have a many vectors, called: ib1 ib2 ib3 ... ib100 and I would like them in one data frame (df) such that:
df
ib1 ib2 ib3 ib4 ..... ib100
x x x x x
x x x x x
x x x x x
I have attempted:
hold.list <- list(objects(pattern="ib"))
df <- data.frame(hold.list)
but that didn't work
also:
do.call(rbind, (objects(pattern="ib")))
and that also didn't work. I tried a whole pile of other things, where I
also failed.
The number of vectors might differ each time I want to make the data frame,
so that in the example above, I have ib1 : ib100, but next time, I might
only have ib1 : ib2
Below is my (probably somewhat embarrassing) example script for generating
the vectors in the first place. Commented out toward the end are a few
attempts at doing the job I wanted to do.
temp <- runif(100)
tripID <- rep(1:10, 10)
uni <- rep(1:4, 25)
temp <- data.frame(temp, tripID, uni)
trips <- unique(temp$tripID)
uni <- unique(temp$uni[temp$tripID==trips[1]])
for (jj in 1:length(uni)){
a <- c()
for (ii in 1:10){
a <- c(a, IQR(temp$temp[temp$uni %in% sample(uni,jj)]))
assign(paste("ib",jj,sep=""), a) # ib is short for ibuttons. The number
is how many were used to calc IQR
}
# hold.list <- list(objects(patter="ib"))
# trip <- data.frame(list=hold.list # I am trying to put everything into
a dataframe
# do.call("rbind", list=hold.list)
# do.call("rbind", list(objects(pattern="ib")))
}
thanks heaps if you can help. And sorry if this is mostly garble. This is
my first crack at soliciting help from the list.
cheers,
mat