[R] My very first loop!! I failed. May I have some start-up aid?
Dagmar
Ramgad82 at gmx.net
Tue Aug 22 09:40:27 CEST 2017
Dear Jeff,
Thank you! You helped me a lot!
Tagmarie
Am 19.08.2017 um 08:11 schrieb Jeff Newmiller:
> 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 at 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:<jdnewmil at 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
> ---------------------------------------------------------------------------
>
>
More information about the R-help
mailing list