ЕТ
Size: a a a
ЕТ
⌨
mean_data <- tibble(a = c(1, 2, 3, 4, 5),
b = c(6, 7, 8, 9, 10))
means <- sapply(mean_data, mean)
mutate_at(tbl, vars(a, b), ~.x - mean(.x))
ЕТ
mutate_at(tbl, vars(a, b), ~.x - mean(.x))
⌨
dplyr
очень, очень выразителен и прост, но имеет ряд ограничений и начнет жутко тормозить если писать бездумно. Добавьте туда же purrr
вместо *apply
PU
> mean_data <- data.table(a = c(1, 2, 3, 4, 5),
+ b = c(6, 7, 8, 9, 10))
>
> mean_data[, `:=`(a = a - mean(a), b = b - mean(b))]
> mean_data
a b
1: -2 -2
2: -1 -1
3: 0 0
4: 1 1
5: 2 2
ЕТ
> mean_data <- data.table(a = c(1, 2, 3, 4, 5),
+ b = c(6, 7, 8, 9, 10))
>
> mean_data[, `:=`(a = a - mean(a), b = b - mean(b))]
> mean_data
a b
1: -2 -2
2: -1 -1
3: 0 0
4: 1 1
5: 2 2
PU
ЕТ
R
mean_data <- tibble(a = c(1, 2, 3, 4, 5),
b = c(6, 7, 8, 9, 10))
means <- sapply(mean_data, mean)
Ю
PU
Ю
PU
PU
a
mean_data <- tibble(a = c(1, 2, 3, 4, 5),
b = c(6, 7, 8, 9, 10))
means <- sapply(mean_data, mean)
library(tidyverse)
df <- tibble(a = c(1, 2, 3, 4, 5),
b = c(6, 7, 8, 9, 10))
df %>%
map_df(function(x){x - mean(x)})
или
df %>%
mutate_all(function(x){x - mean(x)})
a
АК
> mean_data <- data.table(a = c(1, 2, 3, 4, 5),
+ b = c(6, 7, 8, 9, 10))
>
> mean_data[, `:=`(a = a - mean(a), b = b - mean(b))]
> mean_data
a b
1: -2 -2
2: -1 -1
3: 0 0
4: 1 1
5: 2 2
DT[, (cols) := lapply(.SD, function(x) x - mean(x)), .SDcols = cols]2) более изящный вариант:
DT[, (cols) := .SD - colMeans(.SD), .SDcols = cols]
PD
> data.table::getDTthreads()
[1] 3
> parallel::detectCores()
[1] 6
PU
АК
> data.table::getDTthreads()
[1] 3
> parallel::detectCores()
[1] 6