Неделю назад я бы сделал это вручную: подмножество dataframe по группам к новым фреймворкам данных. Для каждого средства вычисления вычислительной единицы для каждой переменной, затем rbind. очень неуклюжий...
Теперь я узнал о split
и plyr
, и я думаю, что с помощью этих инструментов должен быть более простой способ. Пожалуйста, не доказывай, что я не прав.
test_data <- data.frame(cbind(
var0 = rnorm(100),
var1 = rnorm(100,1),
var2 = rnorm(100,2),
var3 = rnorm(100,3),
var4 = rnorm(100,4),
group = sample(letters[1:10],100,replace=T),
year = sample(c(2007,2009),100, replace=T)))
test_data$var1 <- as.numeric(as.character(test_data$var1))
test_data$var2 <- as.numeric(as.character(test_data$var2))
test_data$var3 <- as.numeric(as.character(test_data$var3))
test_data$var4 <- as.numeric(as.character(test_data$var4))
Я играю с обоими ddply
, но я не могу произвести то, что хочу, т.е. таблицу, подобную этой, для каждой группы
group a |2007|2009|
________|____|____|
var1 | xx | xx |
var2 | xx | xx |
etc. | etc| ect|
может быть d_ply
, а результат odfweave
будет работать. Входы очень оценены.
p.s. Я замечаю, что data.frame преобразует rnorm в факторы в моем data.frame? как я могу избежать этого - я (rnorm (100) не работает, поэтому мне нужно преобразовать в числовые значения, как указано выше