Вы также можете попробовать mean
в by
, выдавая такой вывод:
by(df$age, df$movie, mean)
# df$movie: Iron Man
# [1] 51.33333
# -----------------------------------------------------------------------------------
# df$movie: Thor
# [1] 45
, дополнительно используя with
и round
.
round(with(df, by(age, movie, mean)), 1)
# movie: Iron Man
# [1] 51.3
# -----------------------------------------------------------------------------------
# movie: Thor
# [1] 45
Данные
df <- structure(list(fname = c("Jake", "Anthony", "Albert", "James",
"Tony"), lname = c("Copi", "Copi", "Einstein", "Gleick", "Gleick"
), age = c(33, 40, 77, 44, 50), movie = c("Iron Man", "Thor",
"Iron Man", "Iron Man", "Thor")), class = "data.frame", row.names = c(NA,
-5L))