Size: a a a

R language and Statistical data analysis

2019 December 24

A

Andrey in R language and Statistical data analysis
Cocos
for(l in 1:lc_max)  for(pcease in 1:cease)    for(nOnMinI in cycles$n-1){
   p<-p+1; outcome[p,cname:=paste0(pcluster1[[pcease]]["cname"],"l",l,"n",nOnMinI,"vn")]
   for(vergeI in cycles$v-1){  
       p<-p+1; outcome[p,cname:=paste0(pcluster1[[pcease]]["cname"],"l",l,"n",nOnMinI,"v",vergeI)]
       p<-p+1; outcome[p,cname:=paste0(pcluster1[[pcease]]["cname"],"l",l,"n",nOnMinII,"vd",vergeI)]
       p<-p+1; outcome[p,cname:=paste0(pcluster1[[pcease]]["cname"],"l",l,"n",nOnMinI,"vm",vergeI)]
   }
циклов несколько
Сделайте меня развидеть
источник

NN

Nikolai Neustroev in R language and Statistical data analysis
😳
источник

A

Andrey in R language and Statistical data analysis
Наверни еще десяток вложенных циклов
источник

C

Cocos in R language and Statistical data analysis
интересно как их затолкнёте в дататейбл
источник

A

Andrey in R language and Statistical data analysis
Никак ввиду того, что здесь на первый взгляд циклы вообще не нужны
источник

АК

Артём Клевцов in R language and Statistical data analysis
Cocos
for(l in 1:lc_max)  for(pcease in 1:cease)    for(nOnMinI in cycles$n-1){
   p<-p+1; outcome[p,cname:=paste0(pcluster1[[pcease]]["cname"],"l",l,"n",nOnMinI,"vn")]
   for(vergeI in cycles$v-1){  
       p<-p+1; outcome[p,cname:=paste0(pcluster1[[pcease]]["cname"],"l",l,"n",nOnMinI,"v",vergeI)]
       p<-p+1; outcome[p,cname:=paste0(pcluster1[[pcease]]["cname"],"l",l,"n",nOnMinII,"vd",vergeI)]
       p<-p+1; outcome[p,cname:=paste0(pcluster1[[pcease]]["cname"],"l",l,"n",nOnMinI,"vm",vergeI)]
   }
циклов несколько
А теперь расскажи нормально: что было на входе и что надо получить на выходе.
источник

A

Andrey in R language and Statistical data analysis
У меня цикл досчитался. 891 сек.
источник

A

Andrey in R language and Statistical data analysis
А так за 1 сек отрабатывает
источник

AS

Alexander Semenov in R language and Statistical data analysis
источник

a

aGricolaMZ in R language and Statistical data analysis
Артём Клевцов
Подозреваю, что дело не в R, а в том, что сломан GCC.
Вот это сделай: https://www.cs.cmu.edu/~awb/pub/minix/gcc.test
Если будет ругаться на отсутствие gcc2minix, то можно выполнить сразу ./a.out.
Если скомпилить не даст, из-за libisl, то надо чинить установку GCC в системе.
тогда не было времени доразобраться, но я все еще не знаю, в какую сторону думать
источник

АК

Артём Клевцов in R language and Statistical data analysis
aGricolaMZ
тогда не было времени доразобраться, но я все еще не знаю, в какую сторону думать
Обнови всё, что можно.
sudo apt-get upgrade
sudo apt-get dist-upgrade
источник

АК

Артём Клевцов in R language and Statistical data analysis
Поскольку там бинарные пакеты, то в момент релиза их синхронизируют, так что при полном соотвествии версий релизеым - проблемы быть не должно.
источник

a

aGricolaMZ in R language and Statistical data analysis
Артём Клевцов
Обнови всё, что можно.
sudo apt-get upgrade
sudo apt-get dist-upgrade
по нулям...

agricolamz@agricolamz ~ $ sudo apt dist-upgrade 
Reading package lists... Done
Building dependency tree      
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
agricolamz@agricolamz ~ $ sudo apt-get dist-upgrade
Reading package lists... Done
Building dependency tree      
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
источник

IM

I M in R language and Statistical data analysis
aGricolaMZ
по нулям...

agricolamz@agricolamz ~ $ sudo apt dist-upgrade 
Reading package lists... Done
Building dependency tree      
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
agricolamz@agricolamz ~ $ sudo apt-get dist-upgrade
Reading package lists... Done
Building dependency tree      
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
источник

АК

Артём Клевцов in R language and Statistical data analysis
Ну, тогда радикально давай. Дам ссылку, чтобы не копипастить.
https://askubuntu.com/a/26518/150582
источник

ГД

Григорий Демин in R language and Statistical data analysis
Philipp Upravitelev
да, кстати. коллеги, подскажите какой-нибудь простой набор операций (допустим, на пяток строк)
на котором можно было бы продемонстрировать профилирование?
а то обычно используют для этого графики ggplot (агрегация + визуализация), но я что-то не хочу их брать %(
Как-то так у меня выглядело:
library(microbenchmark) # библиотека для сравнения скорости работы


# делаем довольно много данных
data(iris)
long_iris = iris[rep(seq_len(nrow(iris)), 1000), ]



# генерируем набор случайных индексов для сабсета
set.seed(123)
indices = sample(nrow(long_iris), 10000, replace = TRUE)


# цикл нужен, чтобы не слишком быстро считало - было время запрофилировать
# этой строчке делаем Profile selected lines
for(i in 1:100) long_iris[indices, ]

# без проверки на уникальность row.names
fast_subset = function(df, index){
   res = lapply(df, "[", index)
   class(res) = "data.frame"
   rownames(res) = seq_along(res[[1]]) # нужна, иначе кол-во строк не будет определятся
   res
}
   

# проверям, что одинаковый результат
temp1 = long_iris[indices, ]
temp2 = fast_subset(long_iris, indices)
all(temp1 == temp2)    

# тестируем производительность
microbenchmark(
   subset = long_iris[indices, ],
   fast = fast_subset(long_iris, indices)
   
)

# выигрываем ~40% производительности
# Unit: microseconds
# expr      min        lq     mean    median        uq      max neval
# subset 1000.499 1043.3720 1269.918 1076.4790 1191.8575 15373.31   100
# fast        615.131  653.0385 1007.292  687.1395  729.8475 14622.77   100
источник

ГД

Григорий Демин in R language and Statistical data analysis
И скрин профайлера:
источник

PU

Philipp Upravitelev in R language and Statistical data analysis
огонь. спасибо, буду разбираться.
можно я этот пример и разбор позаимствую для своих учебных материалов?
источник

ГД

Григорий Демин in R language and Statistical data analysis
да, конечно
источник

PU

Philipp Upravitelev in R language and Statistical data analysis
Григорий Демин
да, конечно
👍
источник