Я задал этот вопрос в пятницу ( R Faceted qqplots с столбцом и строкой ), и @Akrun дал очень полезный ответ, который, казалось, решил мою проблему. Однако мне нужно было внести небольшие изменения в его ответ, чтобы x и y были уникальными комбинациями , а не просто списком уникальных значений в каждом столбце, но теперь я не могу успешно завершить этот код.
Фиктивные данные:
df <- mtcars
# Name columns as I have in my real data
df$rows <- df$cyl
df$columns <- df$gear
df$Modeled <- df$wt
df$Observed <- df$mpg
Code1:
dat_sort <- do.call(rbind, Map(function(x, y) {
i1 <- df$rows == x & df$columns == y
print(nrow(df$Observed[i1]))
print(nrow(df$Modeled[i1]))
data.frame(rows = x, columns =y,
Observed = sort(df$Observed[i1]),
Modeled = sort(df$Modeled[i1]))},
unique(df$rows[c("rows", "columns")]), unique(df$columns[c("rows", "columns")])))
Ошибка:
Error in data.frame(rows = rep(x, sum(i1 == TRUE)), columns = rep(y, sum(i1 == :
arguments imply differing number of rows: 6888, 455, 574
Called from: data.frame(rows = rep(x, sum(i1 == TRUE)), columns = rep(y, sum(i1 ==
TRUE)), Observed = sort(df$Observed[i1 == TRUE]), Modeled = sort(df$Modeled[i1 ==
TRUE]))
Спасибо за вашу помощь!