Какой самый быстрый способ получить все комбинации элементов строки и среднего значения переменной, прикрепленной к ним? - PullRequest
0 голосов
/ 01 ноября 2018

У меня очень большой набор данных, и мне нужен скрипт, который может работать быстрее, чем этот. Я должен составить все комбинации (более 50.000.000) и усреднить множество переменных. Вот мое решение до сих пор:

###DATA###
library(data.table)
data <- data.frame(replicate(10,sample(1:10,9,rep=TRUE)))
row.names (data) <- c("row1", "row2", "row3", "row4", "row5", "row6", "row7", "row8", "row9") 
setDT(data, keep.rownames = TRUE)[]

###START###
data <- as.data.frame(data)

row_ids <- expand.grid(as.character(data$rn),as.character(data$rn))
New_data <- paste(row_ids[,1],row_ids[,2],sep="_X_")
for (i in 2:ncol(data)){
  vals <- expand.grid(data[,i],data[,i])
  val.means <- rowMeans(vals)
  New_data <- c(New_data,val.means)
}

dim(New_data)=c(nrow(row_ids),(ncol(data)))
head(New_data[1:10])
New_data <- as.data.frame(New_data)
###END###    
...