On 06/16/2012 07:41 AM, @ngel wrote:
Hello all,
I'm new here and new to R, but I have to admit I'm learning rather fast.
Right now I need to write a loop, and I don't seem to think I'm doing it
properly, judging by the errors I get! What I need to do is to insert my
data (csv-table) into a variable, and take snapshots of my data (it's
longtitudinal) and they 'play' with the snapshot. To give you an example:
# I Load tnet the library I need
library(tnet)
# I Load my data
net<- read.table("data.txt")
# Check if net is tnet
net<- as.tnet(net, type="longitudinal tnet")
# And slice the data getting new variables for every day
net.101031<- as.static.tnet(net[net[,"t"]<=as.POSIXlt("2010-10-31
00:00:00"),])
# Then get the degree of the sliced network
degree_w(net.101031)
# and the mean of each column in the data.frame
apply(net.101031, 2, mean)
Now the problem is that there are way too many "days" to do it manually and
I need to wrap this part:
net.101031<- as.static.tnet(net[net[,"t"]<=as.POSIXlt("2010-10-31
00:00:00"),])
degree_w(net.101031)
apply(net.101031, 2, mean)
in a loop, and print the results. But...
Hi @ngel,
It appears as though you want to return a nested list from your loop
that steps through a specified set of timestamps. Probably something
like this:
get_network_slices<-function(timestamps) {
nslices<-length(timestamps)
netslices<-list()
for(slice in 1:nslices) {
this_slice<-
as.static.tnet(net[net[,"t"]<=as.POSIXlt(timestamps[slice],])
degree_w(this_slice)
netslices[[slice]]<-list(degree_w,apply(this_slice,2,mean))
}
return(netslices)
}
This should return a list in which each element contains the degree
value and a list or vector of means.
Jim
______________________________________________
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.