Могу ли я подметать список таблиц, чтобы получить условные вероятности, или я должен подметать каждую таблицу отдельно? Вот некоторые данные, которые я только что сделал, наряду с выходами таблицы, чтобы продемонстрировать мою проблемуЭлементы разделяющих таблиц по суммам столбцов для нескольких таблиц
positions <- c("forward", "midfield", "defence", "goalkeeper", rep("forward", 5), "defender")
nationality <- c(rep("IRE", 3), "GER", "ITA", "ENG", "FRA", "BRA", "SCO", "ESP")
teams <- c("Milan", "Juventus", "Lazio", "Palermo", "Milan", "Juventus", "Chievo", "Siena", "Parma", "Napoli")
dF <- data.frame(Team = factor(teams),
Position = factor(positions),
Nationality = factor(nationality),
stringsAsFactors = T)
t1 <- t(table(dF$Nationality, dF$Position))
t2 <- t(table(dF$Nationality, dF$Team))
BRA ENG ESP FRA GER IRE ITA SCO
defence 0 0 0 0 0 1 0 0
defender 0 0 1 0 0 0 0 0
forward 1 1 0 1 0 1 1 1
goalkeeper 0 0 0 0 1 0 0 0
midfield 0 0 0 0 0 1 0 0
BRA ENG ESP FRA GER IRE ITA SCO
Chievo 0 0 0 1 0 0 0 0
Juventus 0 1 0 0 0 1 0 0
Lazio 0 0 0 0 0 1 0 0
Milan 0 0 0 0 0 1 1 0
Napoli 0 0 1 0 0 0 0 0
Palermo 0 0 0 0 1 0 0 0
Parma 0 0 0 0 0 0 0 1
Siena 1 0 0 0 0 0 0 0
Что мне нужно сделать, это разделить каждую запись в таблице по сумме ее столба, чтобы получить условные вероятности. Я знаю, что могу использовать функцию развертки, применяемую к каждой таблице, но мне было интересно, можно ли ее применить к списку таблиц через lapply или через цикл for? Я пробовал оба без успеха. Я также пробовал функцию развертки без успеха.
Например:
tbl_list <- list(t1, t2)
for(tbl in tbl_list) {
tbl <- sweep(tbl, 2, colSums(tbl), `/`)
}
Он хорошо работает. Что именно происходит с двумя функциями, которые вы определили там? – Seanosapien