Я хочу перетасовать значения столбца столбцом 'y'. Я написал код на R, я хочу реализовать то же самое в sparklyr.
shuffle.data <- function(data, column_name, start_index ){
mat <- cbind(1:nrow(data), data$y + start_index - 1)
vals <- data[mat]
data[mat] <- data[, column_name]
data[, column_name] <- as.numeric(vals)
return(data)
}
data <- data.table("id" = c("a1", "a2", "a3", "a4"),"price"=c(12, 45, 10, 18),
"price2"=c(30, 67, 89, 50),"price3"=c(10, 134, 56, 78), "y"=c(1,2,1,3))
data <- as.data.frame(data)
# id price price2 price3 y
#1 a1 12 30 10 1
#2 a2 45 67 134 2
#3 a3 10 89 56 1
#4 a4 18 50 78 3
shuffle.data(data, "price", 2)
# id price price2 price3 y
#1 a1 12 30 10 1
#2 a2 67 45 134 2
#3 a3 10 89 56 1
#4 a4 78 50 18 3
По сути, основной вопрос - как получить доступ к кадру данных искры по индексу?