Size: a a a

R (язык программирования)

2020 November 25

PU

Philipp Upravitelev in R (язык программирования)
еще не постили, утром будет
источник

PU

Philipp Upravitelev in R (язык программирования)
или ночью, зависит от того, как быстро соберу конспект
источник
2020 November 26

⌨️ in R (язык программирования)
Коллеги, никто не подскажет, почему из Rcpp утекает экспорт в пакет?
Обнаружил после установки из-за подсказок IDE, getNamespaceExports('my_package') выдает примерно такой список
 [1] "setRcppClass"               "exposeClass"               
[3] "prompt"                     ".__C__C++Field"            
[5] "library.dynam.unload"       "populate"                  
[7] "initialize"                 ".__T__$<-:base"            
[9] "sizeof"                     "cppFunction"              
[11] "getRcppVersion"             ".__C__C++Function"        
[13] "evalCpp"                    ".__C__C++Constructor"      
[15] "loadRcppClass"              ".__T__prompt:utils"        
[17] ".__C__C++OverloadedMethods" "LdFlags"                  
[19] "hllrst_run_threads"         ".__T__show:methods"        
[21] "loadModule"                 ".__T__[<-:base"            
[23] "cpp_object_initializer"     ".__T__.DollarNames:utils"  
[25] "compileAttributes"          ".__T__initialize:methods"  
[27] ".__C__C++Object"            "system.file"              
[29] ".__T__[[<-:base"            "sourceCpp"                
[31] "cpp_object_dummy"           "Rcpp.plugin.maker"        
[33] "RcppLdFlags"                ".__C__RcppClass"          
[35] "Module"                     ".__T__[:base"              
[37] "registerPlugin"             "hllrst_random_number"      
[39] "loadRcppModules"            ".DollarNames"              
[41] ".__C__C++Class"             ".__T__formals<-:base"      
[43] "formals<-"                  "demangle"                  
[45] ".__T__$:base"               ".__C__Module"              
[47] "Rcpp.package.skeleton"      "show"                      
который, естественно, включает и полезные функции.
источник

АК

Артём Клевцов... in R (язык программирования)
⌨️
Коллеги, никто не подскажет, почему из Rcpp утекает экспорт в пакет?
Обнаружил после установки из-за подсказок IDE, getNamespaceExports('my_package') выдает примерно такой список
 [1] "setRcppClass"               "exposeClass"               
[3] "prompt"                     ".__C__C++Field"            
[5] "library.dynam.unload"       "populate"                  
[7] "initialize"                 ".__T__$<-:base"            
[9] "sizeof"                     "cppFunction"              
[11] "getRcppVersion"             ".__C__C++Function"        
[13] "evalCpp"                    ".__C__C++Constructor"      
[15] "loadRcppClass"              ".__T__prompt:utils"        
[17] ".__C__C++OverloadedMethods" "LdFlags"                  
[19] "hllrst_run_threads"         ".__T__show:methods"        
[21] "loadModule"                 ".__T__[<-:base"            
[23] "cpp_object_initializer"     ".__T__.DollarNames:utils"  
[25] "compileAttributes"          ".__T__initialize:methods"  
[27] ".__C__C++Object"            "system.file"              
[29] ".__T__[[<-:base"            "sourceCpp"                
[31] "cpp_object_dummy"           "Rcpp.plugin.maker"        
[33] "RcppLdFlags"                ".__C__RcppClass"          
[35] "Module"                     ".__T__[:base"              
[37] "registerPlugin"             "hllrst_random_number"      
[39] "loadRcppModules"            ".DollarNames"              
[41] ".__C__C++Class"             ".__T__formals<-:base"      
[43] "formals<-"                  "demangle"                  
[45] ".__T__$:base"               ".__C__Module"              
[47] "Rcpp.package.skeleton"      "show"                      
который, естественно, включает и полезные функции.
Тут по сути все зависимости твоего пакета представлены, в том числе от Rcpp.
источник

⌨️ in R (язык программирования)
Артём Клевцов
Тут по сути все зависимости твоего пакета представлены, в том числе от Rcpp.
Я понимаю, но проблема в другом. Если я возьму другой пакет, в котором есть несколько CPP функций, собранный через Rcpp и roxygen2 мной же, то там в публичном экспорте собственно то, что я задекларировал, и никакого мусора. Здесь же - в минимальном пакете с буквально двумя экспортируемыми CPP функциями - куча мусора, который видно (на мой субъективный взгляд) быть не должно. Вопрос почему так, я подумал может кто с таким сталкивался и знает в чем дело. Ощущение, что какая-то зависимость прописана неправильно
источник

ЕТ

Евгений Томилов... in R (язык программирования)
Благодаря лекции многоуважаемого Филиппа я принял data.table в своё сердце, стараюсь писать новый код на нём.
источник

АК

Артём Клевцов... in R (язык программирования)
⌨️
Я понимаю, но проблема в другом. Если я возьму другой пакет, в котором есть несколько CPP функций, собранный через Rcpp и roxygen2 мной же, то там в публичном экспорте собственно то, что я задекларировал, и никакого мусора. Здесь же - в минимальном пакете с буквально двумя экспортируемыми CPP функциями - куча мусора, который видно (на мой субъективный взгляд) быть не должно. Вопрос почему так, я подумал может кто с таким сталкивался и знает в чем дело. Ощущение, что какая-то зависимость прописана неправильно
Как пакет собираешь?
источник

АК

Артём Клевцов... in R (язык программирования)
⌨️
Я понимаю, но проблема в другом. Если я возьму другой пакет, в котором есть несколько CPP функций, собранный через Rcpp и roxygen2 мной же, то там в публичном экспорте собственно то, что я задекларировал, и никакого мусора. Здесь же - в минимальном пакете с буквально двумя экспортируемыми CPP функциями - куча мусора, который видно (на мой субъективный взгляд) быть не должно. Вопрос почему так, я подумал может кто с таким сталкивался и знает в чем дело. Ощущение, что какая-то зависимость прописана неправильно
Что в импортах? Должно быть:
importFrom(Rcpp,evalCpp)
useDynLib(mypkg, .registration = TRUE)
источник

PU

Philipp Upravitelev in R (язык программирования)
Евгений Томилов
Благодаря лекции многоуважаемого Филиппа я принял data.table в своё сердце, стараюсь писать новый код на нём.
*утер слезу
источник

АК

Артём Клевцов... in R (язык программирования)
⌨️
Я понимаю, но проблема в другом. Если я возьму другой пакет, в котором есть несколько CPP функций, собранный через Rcpp и roxygen2 мной же, то там в публичном экспорте собственно то, что я задекларировал, и никакого мусора. Здесь же - в минимальном пакете с буквально двумя экспортируемыми CPP функциями - куча мусора, который видно (на мой субъективный взгляд) быть не должно. Вопрос почему так, я подумал может кто с таким сталкивался и знает в чем дело. Ощущение, что какая-то зависимость прописана неправильно
Это из-за devtools::load_all().
> library(uaparser)
> getNamespaceExports("uaparser")
[1] "parse_browser"     "parse_device_type" "parse_user_agent"
[4] "update_regexes"    "parse_os"          "parse_device"    
> devtools::load_all(".")
Loading uaparser
> getNamespaceExports("uaparser")
[1] "library.dynam.unload"        "system.file"                
[3] "parse_browser"               "parse_device_type"          
[5] "_uaparser_uap_release"       "download.file"              
[7] "uap_release"                 "_uaparser_parse_device"    
[9] "evalCpp"                     "parse_user_agent"          
[11] "_uaparser_uap_init"          "_uaparser_parse_os"        
[13] "update_regexes"              "parse_os"                  
[15] "parse_device"                "_uaparser_parse_user_agent"
[17] "_uaparser_parse_browser"     "_uaparser_parse_device_type"
[19] "uap_init"                    "onUnload"
источник

PU

Philipp Upravitelev in R (язык программирования)
всем привет. запись и материалы прошедшего вебинара по data.table здесь: https://upravitelev.gitlab.io/r_webinars
источник

ЕТ

Евгений Томилов... in R (язык программирования)
Philipp Upravitelev
всем привет. запись и материалы прошедшего вебинара по data.table здесь: https://upravitelev.gitlab.io/r_webinars
источник

БА

Байкулов Антон... in R (язык программирования)
Philipp Upravitelev
всем привет. запись и материалы прошедшего вебинара по data.table здесь: https://upravitelev.gitlab.io/r_webinars
Спасибо! Вебинар получился очень лаконичный.
источник

PU

Philipp Upravitelev in R (язык программирования)
даже не знаю, это комплимент такой или критика? :))))
источник

БА

Байкулов Антон... in R (язык программирования)
Philipp Upravitelev
даже не знаю, это комплимент такой или критика? :))))
Комплимент. Я вообще редко вебинары смотрю по причине огромного кол-ва воды в них. Но тут залип от начала до конца.
источник

PU

Philipp Upravitelev in R (язык программирования)
по мне, больше часа работать все равно тяжело, поэтому и такими блоками решил делать
источник

PU

Philipp Upravitelev in R (язык программирования)
Байкулов Антон
Комплимент. Я вообще редко вебинары смотрю по причине огромного кол-ва воды в них. Но тут залип от начала до конца.
я рад, спасибо
источник

БА

Байкулов Антон... in R (язык программирования)
Rebята - вопрос: можно ли сравнить внутри вектора значение в следующей строке со значением в текущей без цикла?
источник

И

Иλьямбда in R (язык программирования)
Байкулов Антон
Rebята - вопрос: можно ли сравнить внутри вектора значение в следующей строке со значением в текущей без цикла?
В смысле в ячейке?
источник

И

Иλьямбда in R (язык программирования)
Если в ячейке, то это просто v[1:length(v)-1] < v[2:length(v)]
источник