Using "by" with helper function error in r -


i'm trying apply helper function data frame factor. function works (i know because have used lot , works complete data frame) , spelling correct. however, when want apply error:

pru<-by(  data = cs_us[,3:length(cs_us)], +           indices = cs_us$ensayo, +           fun =desplazar(cs_us$tiempo,cs_us[,3:length(cs_us)-1]) + ) error in fun(x[[1l]], ...) : not find function "fun" 

if try find it, in global environment

getanywhere(desplazar) single object matching ‘desplazar’ found found in following places   .globalenv value  function(tiempo,dataframe){   matriz = as.matrix(dataframe)   matriz_dif = abs(diff(matriz )) # derivar   matriz_dif_inv = diffinv(matriz_dif) # integrar   return(data.frame(cbind(tiempo, matriz_dif_inv ))) }   

here's piece of data (just critical part have 2 factor levels)

dput(cs_us[120:140,]) structure(list(estado = c(3l, 3l, 3l, 3l, 3l, 3l, 3l, 3l, 3l,  3l, 3l, 3l, 3l, 3l, 3l, 3l, 2l, 2l, 2l, 2l, 2l), tiempo = c(624,  624.2, 624.4, 624.6, 624.8, 625, 625.2, 625.4, 625.6, 625.8,  626, 626.2, 626.4, 626.6, 626.8, 627, 3120.2, 3120.4, 3120.6,  3120.8, 3121), ut2x45.1 = c(13666l, 13665l, 13664l, 13662l, 13661l,  13655l, 13651l, 13648l, 13647l, 13643l, 13642l, 13640l, 13638l,  13637l, 13637l, 13636l, 11115l, 11115l, 11115l, 11115l, 11115l ), ut2x45.2 = c(15357l, 15357l, 15357l, 15357l, 15357l, 15357l,  15357l, 15357l, 15357l, 15357l, 15357l, 15357l, 15357l, 15357l,  15357l, 15357l, 15087l, 15087l, 15087l, 15087l, 15087l), tr2x45.1 = c(15761l,  15755l, 15742l, 15729l, 15727l, 15726l, 15724l, 15722l, 15720l,  15716l, 15717l, 15715l, 15711l, 15708l, 15706l, 15704l, 15628l,  15628l, 15628l, 15628l, 15628l), tr2x45.2 = c(15381l, 15363l,  15342l, 15324l, 15320l, 15314l, 15308l, 15298l, 15296l, 15294l,  15293l, 15293l, 15293l, 15294l, 15294l, 15294l, 14238l, 14238l,  14238l, 14238l, 14238l), ut2x45.3 = c(15649l, 15649l, 15649l,  15649l, 15649l, 15649l, 15649l, 15649l, 15649l, 15649l, 15649l,  15649l, 15649l, 15649l, 15649l, 15649l, 15532l, 15532l, 15532l,  15532l, 15532l), ut2x45.4 = c(16038l, 16038l, 16038l, 16038l,  16038l, 16038l, 16038l, 16038l, 16038l, 16038l, 16038l, 16038l,  16038l, 16038l, 16038l, 16038l, 16136l, 16136l, 16136l, 16136l,  16136l), tr2x45.3 = c(15662l, 15658l, 15658l, 15657l, 15657l,  15653l, 15649l, 15648l, 15647l, 15646l, 15645l, 15644l, 15644l,  15637l, 15633l, 15632l, 16123l, 16123l, 16123l, 16123l, 16123l ), tr2x45.4 = c(15780l, 15761l, 15743l, 15732l, 15729l, 15726l,  15720l, 15715l, 15713l, 15712l, 15709l, 15705l, 15704l, 15703l,  15702l, 15702l, 15233l, 15233l, 15232l, 15233l, 15233l), tr2x45.5 = c(16072l,  16075l, 16077l, 16078l, 16078l, 16080l, 16082l, 16083l, 16084l,  16086l, 16087l, 16088l, 16088l, 16089l, 16091l, 16093l, 16198l,  16198l, 16198l, 16198l, 16198l), tr2x45.6 = c(16100l, 16087l,  16072l, 16062l, 16055l, 16049l, 16044l, 16040l, 16035l, 16030l,  16024l, 16025l, 16026l, 16024l, 16022l, 16022l, 16306l, 16306l,  16306l, 16306l, 16306l), ut2x45.5 = c(15642l, 15642l, 15642l,  15642l, 15642l, 15642l, 15642l, 15642l, 15642l, 15642l, 15642l,  15642l, 15642l, 15642l, 15642l, 15642l, 16140l, 16140l, 16140l,  16140l, 16140l), ut2x45.6 = c(16546l, 16546l, 16546l, 16546l,  16546l, 16546l, 16546l, 16546l, 16546l, 16546l, 16546l, 16546l,  16546l, 16546l, 16546l, 16546l, 16428l, 16428l, 16428l, 16428l,  16428l), tr2x45.7 = c(19030l, 19035l, 19033l, 19029l, 19028l,  19027l, 19026l, 19025l, 19023l, 19022l, 19022l, 19022l, 19022l,  19022l, 19022l, 19022l, 20119l, 20119l, 20118l, 20119l, 20120l ), tr2x45.8 = c(20874l, 20883l, 20886l, 20887l, 20889l, 20891l,  20896l, 20898l, 20899l, 20901l, 20903l, 20907l, 20912l, 20916l,  20920l, 20923l, 29200l, 29200l, 29200l, 29200l, 29200l), ut2x45.7 = c(15731l,  15730l, 15729l, 15729l, 15726l, 15724l, 15722l, 15722l, 15722l,  15722l, 15722l, 15722l, 15722l, 15722l, 15722l, 15722l, 15567l,  15567l, 15567l, 15567l, 15567l), ut2x45.8 = c(14584l, 14584l,  14584l, 14584l, 14584l, 14584l, 14584l, 14584l, 14584l, 14584l,  14584l, 14584l, 14584l, 14584l, 14584l, 14584l, 14080l, 14080l,  14080l, 14080l, 14082l), ut2x45.9 = c(15900l, 15900l, 15901l,  15902l, 15902l, 15908l, 15911l, 15911l, 15912l, 15913l, 15913l,  15913l, 15913l, 15913l, 15913l, 15913l, 15941l, 15941l, 15941l,  15941l, 15941l), ut2x45.10 = c(14906l, 14906l, 14906l, 14906l,  14906l, 14906l, 14906l, 14906l, 14906l, 14906l, 14906l, 14906l,  14906l, 14906l, 14906l, 14906l, 13890l, 13890l, 13890l, 13890l,  13890l), tr2x45.9 = c(16072l, 16072l, 16072l, 16072l, 16072l,  16072l, 16072l, 16072l, 16072l, 16071l, 16071l, 16071l, 16071l,  16071l, 16071l, 16071l, 16240l, 16240l, 16240l, 16240l, 16240l ), tr2x45.10 = c(13995l, 13981l, 13948l, 13929l, 13916l, 13906l,  13900l, 13893l, 13881l, 13870l, 13863l, 13854l, 13846l, 13839l,  13834l, 13826l, 3363l, 3363l, 3363l, 3363l, 3363l), ut2x45.11 = c(16673l,  16673l, 16673l, 16673l, 16673l, 16673l, 16673l, 16673l, 16673l,  16673l, 16673l, 16673l, 16673l, 16673l, 16673l, 16673l, 17391l,  17391l, 17391l, 17391l, 17391l), ut2x45.12 = c(16197l, 16194l,  16194l, 16194l, 16192l, 16191l, 16191l, 16190l, 16188l, 16185l,  16185l, 16184l, 16184l, 16184l, 16183l, 16182l, 16493l, 16493l,  16493l, 16493l, 16493l), tr2x45.11 = c(15590l, 15588l, 15587l,  15587l, 15585l, 15585l, 15585l, 15585l, 15584l, 15584l, 15584l,  15584l, 15590l, 15590l, 15590l, 15589l, 15464l, 15464l, 15464l,  15464l, 15464l), tr2x45.12 = c(13279l, 13255l, 13221l, 13190l,  13182l, 13177l, 13174l, 13166l, 13159l, 13157l, 13154l, 13147l,  13141l, 13138l, 13138l, 13135l, 8705l, 8705l, 8705l, 8705l, 8705l ), tr2x45.13 = c(14342l, 14342l, 14342l, 14342l, 14342l, 14342l,  14342l, 14342l, 14342l, 14342l, 14342l, 14342l, 14343l, 14342l,  14341l, 14341l, 13276l, 13276l, 13276l, 13276l, 13276l), tr2x45.14 = c(17163l,  17163l, 17163l, 17163l, 17163l, 17163l, 17163l, 17163l, 17163l,  17163l, 17163l, 17163l, 17163l, 17163l, 17163l, 17163l, 17888l,  17888l, 17888l, 17888l, 17888l), ut2x45.13 = c(15769l, 15769l,  15769l, 15769l, 15769l, 15769l, 15769l, 15769l, 15769l, 15769l,  15769l, 15769l, 15769l, 15769l, 15769l, 15769l, 15702l, 15702l,  15702l, 15702l, 15702l), ut2x45.14 = c(18606l, 18606l, 18606l,  18606l, 18606l, 18606l, 18606l, 18606l, 18606l, 18606l, 18606l,  18606l, 18606l, 18606l, 18606l, 18606l, 22677l, 22677l, 22677l,  22677l, 22677l), tr2x45.15 = c(15986l, 15989l, 15990l, 15990l,  15990l, 15990l, 15990l, 15990l, 15989l, 15988l, 15988l, 15988l,  15988l, 15988l, 15988l, 15988l, 15998l, 15998l, 15998l, 15998l,  15998l), tr2x45.16 = c(16328l, 16347l, 16362l, 16367l, 16366l,  16365l, 16366l, 16366l, 16366l, 16366l, 16366l, 16366l, 16366l,  16366l, 16366l, 16366l, 17946l, 17946l, 17946l, 17946l, 17946l ), ut2x45.15 = c(15768l, 15768l, 15768l, 15768l, 15768l, 15768l,  15768l, 15768l, 15768l, 15768l, 15768l, 15768l, 15768l, 15768l,  15768l, 15768l, 16168l, 16168l, 16168l, 16168l, 16168l), ut2x45.16 = c(16040l,  16040l, 16040l, 16040l, 16040l, 16040l, 16040l, 16040l, 16040l,  16040l, 16040l, 16040l, 16040l, 16040l, 16040l, 16040l, 16037l,  16037l, 16037l, 16037l, 16037l), ut2x45.17 = c(15749l, 15749l,  15749l, 15749l, 15749l, 15749l, 15749l, 15749l, 15749l, 15749l,  15749l, 15749l, 15749l, 15749l, 15749l, 15749l, 15677l, 15677l,  15677l, 15677l, 15677l), ut2x45.18 = c(18179l, 18179l, 18179l,  18179l, 18179l, 18179l, 18179l, 18179l, 18179l, 18179l, 18179l,  18179l, 18179l, 18179l, 18179l, 18179l, 16152l, 16152l, 16152l,  16152l, 16152l), tr2x45.17 = c(16423l, 16426l, 16427l, 16428l,  16428l, 16428l, 16428l, 16428l, 16428l, 16428l, 16428l, 16428l,  16428l, 16428l, 16428l, 16428l, 17110l, 17110l, 17110l, 17110l,  17110l), tr2x45.18 = c(13624l, 13613l, 13586l, 13573l, 13566l,  13558l, 13554l, 13548l, 13546l, 13543l, 13540l, 13538l, 13533l,  13531l, 13527l, 13526l, 12369l, 12369l, 12369l, 12369l, 12369l ), ut2x45.19 = c(8263l, 8259l, 8257l, 8255l, 8254l, 8253l, 8252l,  8250l, 8246l, 8239l, 8235l, 8235l, 8234l, 8232l, 8229l, 8226l,  1579l, 1579l, 1579l, 1579l, 1579l), ut2x45.20 = c(17469l, 17469l,  17470l, 17471l, 17473l, 17475l, 17475l, 17475l, 17475l, 17476l,  17477l, 17479l, 17481l, 17482l, 17482l, 17483l, 19822l, 19822l,  19823l, 19823l, 19824l), tr2x45.19 = c(15723l, 15709l, 15671l,  15634l, 15617l, 15598l, 15582l, 15568l, 15557l, 15547l, 15537l,  15526l, 15517l, 15506l, 15501l, 15496l, 14338l, 14338l, 14338l,  14338l, 14338l), tr2x45.20 = c(15818l, 15822l, 15825l, 15829l,  15833l, 15837l, 15838l, 15839l, 15840l, 15841l, 15843l, 15845l,  15847l, 15849l, 15851l, 15854l, 14945l, 14945l, 14945l, 14945l,  14945l), ensayo = structure(c(1l, 1l, 1l, 1l, 1l, 1l, 1l, 1l,  1l, 1l, 1l, 1l, 1l, 1l, 1l, 1l, 2l, 2l, 2l, 2l, 2l), .label = c("e1",  "e2"), class = "factor")), .names = c("estado", "tiempo", "ut2x45.1",  "ut2x45.2", "tr2x45.1", "tr2x45.2", "ut2x45.3", "ut2x45.4", "tr2x45.3",  "tr2x45.4", "tr2x45.5", "tr2x45.6", "ut2x45.5", "ut2x45.6", "tr2x45.7",  "tr2x45.8", "ut2x45.7", "ut2x45.8", "ut2x45.9", "ut2x45.10",  "tr2x45.9", "tr2x45.10", "ut2x45.11", "ut2x45.12", "tr2x45.11",  "tr2x45.12", "tr2x45.13", "tr2x45.14", "ut2x45.13", "ut2x45.14",  "tr2x45.15", "tr2x45.16", "ut2x45.15", "ut2x45.16", "ut2x45.17",  "ut2x45.18", "tr2x45.17", "tr2x45.18", "ut2x45.19", "ut2x45.20",  "tr2x45.19", "tr2x45.20", "ensayo"), row.names = c("3117", "3118",  "3119", "3120", "3121", "3122", "3123", "3124", "3125", "3126",  "3127", "3128", "3129", "3130", "3131", "3132", "15598", "15599",  "15600", "15601", "15602"), class = "data.frame")  

you can try

 by(cs_us[,(3:length(cs_us))-1], cs_us$ensayo,             fun= function(x) desplazar(x$tiempo, x[,-1] ) ) 

or

 map(desplazar, split(cs_us$tiempo, cs_us$ensayo),                 split(cs_us[3:(ncol(cs_us)-1)], cs_us$ensayo)) 

you can modify desplazar , remove anonymous function call in by

   desplazar1 <- function(data){      matriz <- as.matrix(data[-1])      matriz_dif <- abs(diff(matriz))      matriz_dif_inv <- diffinv(matriz_dif)      data.frame(tiempo=data['tiempo'], matriz_dif_inv)     }      by(cs_us[,(3:length(cs_us))-1], cs_us$ensayo, fun=desplazar1) 

Comments

Popular posts from this blog

node.js - Using Node without global install -

How to access a php class file from PHPFox framework into javascript code written in simple HTML file? -

java - Null response to php query in android, even though php works properly -