Как перебрать переменные в R с точки зрения Python? - PullRequest
0 голосов
/ 27 июля 2011

Допустим, у меня есть эта переменная в R, data:

data.orange.lm = lm(...)
data.orange.avg = mean(...)
data.orange.sd = sd(...)
data.pear.lm = lm(...)
data.pear.sd = sd(...)
...
data.plum.sd = sd(...)
data.plum.summary = summary(lm(...))

Как программно выполнить итерацию по data? В Python iteritems для dictionary вам предоставят ключи и соответствующие значения. Есть ли эквивалент R?

Ответы [ 2 ]

1 голос
/ 27 июля 2011

Хранить все во вложенном списке:

data[["orange"]][["lm"]] = lm(...)
data[["orange"]][["avg"]] = mean(...)
data[["orange"]][["sd"]] = sd(...)
data[["pear"]][["lm"]] = lm(...)
data[["pear"]][["sd"]] = sd(...)

Затем используйте семейство команд apply.

0 голосов
/ 27 июля 2011

Для данных, которые немного похожи на это:

data <- data.frame(
  fruit = rep(c("orange", "pear", "plum"), each = 10),
  value = rnorm(30)
)

Вы можете использовать tapply для получения статистики по фруктам и sapply для циклического перебора функций.

fns <- c("mean", "sd")
stats <- sapply(fns, function(f) with(data, tapply(value, fruit, f)))

(Если некоторые из ваших функций не возвращают одиночные числа, используйте lapply вместо sapply.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...