Thank you for providing the example code... for the request of running
it multiple times it would have helped if you could have confirmed
that the example ran through without errors... there were a lot of
mistakes in it. Look into using the reprex package to check your
example next time.
I don't do this kind of analysis... I really don't know what to expect
from the functions. The final step in your sequence produces a vector
of sixteen values, not 1 value, nor 4 values, so I don't know how to
obtain the 4x3 result you said you expected... I got 16x3.
myframe <- data.frame( ID = c( "Ernie",
"Ernie","Ernie","Ernie","Ernie","Ernie")
, Timestamp = c( "24.09.2012 08:00", "24.09.2012
09:00"
, "24.09.2012 10:00", "25.09.2012
10:00"
, "26.09.2012 10:00", "27.09.2012
10:00"
)
, Longitude = c( 8.481, 8.482, 8.483, 8.481,
8.483, 8.481 )
, Latitude = c( 54.753, 54.753, 54.752, 54.751,
54.752, 54.751 )
, stringsAsFactors = FALSE
)
myframe
#> ID Timestamp Longitude Latitude
#> 1 Ernie 24.09.2012 08:00 8.481 54.753
#> 2 Ernie 24.09.2012 09:00 8.482 54.753
#> 3 Ernie 24.09.2012 10:00 8.483 54.752
#> 4 Ernie 25.09.2012 10:00 8.481 54.751
#> 5 Ernie 26.09.2012 10:00 8.483 54.752
#> 6 Ernie 27.09.2012 10:00 8.481 54.751
# Now this is where my loop is supposed to start. In this example I want
#to run the following functions 3 times. (In real life more often.) How
#do I do that?
library(adehabitatHR)
#> Loading required package: sp
#> Loading required package: deldir
#> deldir 0.1-14
#> Loading required package: ade4
#> Loading required package: adehabitatMA
#> Loading required package: adehabitatLT
#> Loading required package: CircStats
#> Loading required package: MASS
#> Loading required package: boot
library(rgdal)
#> rgdal: version: 1.2-8, (SVN revision 663)
#> Geospatial Data Abstraction Library extensions to R successfully
loaded
#> Loaded GDAL runtime: GDAL 1.11.3, released 2015/09/16
#> Path to GDAL shared files: /usr/share/gdal/1.11
#> Loaded PROJ.4 runtime: Rel. 4.9.2, 08 September 2015, [PJ_VERSION:
492]
#> Path to PROJ.4 shared files: (autodetected)
#> Linking to sp version: 1.2-5
myframe$mysampletime <- as.POSIXct( myframe$Timestamp
, format = "%d.%m.%Y %H:%M"
, tz="GMT"
)
set.seed( 42 )
N <- 3
result <- matrix( NA, nrow = 16, ncol = N )
for ( i in seq.int( N ) ) {
mysample <- myframe[ sample( seq_along( myframe[[ 1 ]] )
, 3
, replace=FALSE
)
,
]
mysamplexy <- project( as.matrix( mysample[ , c( "Longitude"
, "Latitude"
)
]
)
, "+proj=utm +zone=32 +ellps=WGS84"
)
colnames( mysamplexy ) <- c( "xCord", "yCord" )
datltraj <- as.ltraj( mysamplexy, mysample$mysampletime,
id=mysample$ID )
Ddat <- BRB.D( datltraj, Tmax=21600, Lmin=36 )
BRBdat <- BRB( datltraj, D = Ddat, type = "UD", Tmax = 21600, Lmin =
36, hmin = 100 )
result[ , i ] <- kernel.area( BRBdat, unout = "km2" )
}
#> Warning in kernel.area(BRBdat, unout = "km2"): The grid is too
small to allow the estimation of home-range
#> for the following value of percent: 70,75,80,85,90,95. You should
rerun kernelUD with a larger extent parameter
#> Warning in kernel.area(BRBdat, unout = "km2"): The grid is too
small to allow the estimation of home-range
#> for the following value of percent:
30,35,40,45,50,55,60,65,70,75,80,85,90,95. You should rerun kernelUD
with a larger extent parameter
#> Error in getvolumeUD(x, standardize = standardize): NA/NaN/Inf in
foreign function call (arg 1)
result
#> [,1] [,2] [,3]
#> [1,] 0.02271428 0.01841934 NA
#> [2,] 0.02916494 0.02374206 NA
#> [3,] 0.03599915 0.02943263 NA
#> [4,] 0.04326174 0.03558258 NA
#> [5,] 0.05102744 0.04230549 NA
#> [6,] 0.05937594 0.04978273 NA
#> [7,] 0.06842678 0.05844826 NA
#> [8,] 0.07832443 0.06780540 NA
#> [9,] 0.08940262 0.06780540 NA
#> [10,] 0.10219933 0.06780540 NA
#> [11,] 0.11765102 0.06780540 NA
#> [12,] 0.13991202 0.06780540 NA
#> [13,] 0.19924810 0.06780540 NA
#> [14,] 0.19924810 0.06780540 NA
#> [15,] 0.19924810 0.06780540 NA
#> [16,] 0.19924810 0.06780540 NA
On Sat, 19 Aug 2017, Dagmar wrote:
Dear all,
I have a data similar to this:
myframe<- data.frame (ID=c("Ernie", "Ernie","Ernie","Ernie"),
Timestamp=c("24.09.2012 08:00", "24.09.2012 09:00", "24.09.2012 10:00",
"25.09.2012 10:00"), Longitude=c("8.481","8.482","8.483","8.481"),
Latitude=c("54.753","54.753","54.752","54.751")
)
myframe
# Now this is where my loop is supposed to start. In this example I
want to run the following functions 3 times. (In real life more
often.) How do I do that?
library(adehabitatHR)
library(rgdal)
mysample <- myframe[sample(1:nrow(myframe), 3,replace=FALSE),]
mysample
mysampletime <- as.POSIXct
(strptime(as.character(mysample$Timestamp), "%d.%m.%Y %H:%M"), tz="GMT")
mysamplexy <- project (cbind (mysample$Longitude, mysample$Latitude),
"+proj=utm +zone=32 +ellps=WGS84")
colnames(mysamplexy) <- c ("xCord", "yCord")
ID <- mysample$ID
datltraj <- as.ltraj(mysamplexy, mysampletime, id=ID)
Ddat <- BRB.D(datltraj, Tmax=21600, Lmin=36)
BRBdat <- BRB(datltraj, D= Ddat,type=c("UD"),Tmax=21600,Lmin=36,
hmin=100)
kernel.area(BRBdat, unout=c("km2"))
# unfortunately my data are not a very good example. Sorry about
that. But I guess you know what I mean.
# Because I wish to run the functions three times I do want a data
frame (or matrix) in the end, which includes the results (kernel
areas): That means 12 columns and the three lines.
# How do I do that?
Many thanks in advance,
Tagmarie
______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.
---------------------------------------------------------------------------
Jeff Newmiller The ..... ..... Go
Live...
DCN:<jdnew...@dcn.davis.ca.us> Basics: ##.#. ##.#. Live Go...
Live: OO#.. Dead: OO#.. Playing
Research Engineer (Solar/Batteries O.O#. #.O#. with
/Software/Embedded Controllers) .OO#. .OO#.
rocks...1k
---------------------------------------------------------------------------