Я пытаюсь создать таблицу на случай непредвиденных обстоятельств, в которой у меня есть один столбец «KAL» (или, в данном случае, назначенная мною переменная, которая имеет категориальные значения) по сравнению с другими столбцами «цитология», «пигментация»,"атипия" и тд.
Мои данные выглядят примерно так:
`Study ID` tissuetype genomicevent cnv ptert cytology atypia inflmm pigment ulceration
<chr> <fct> <fct> <dbl> <dbl> <fct> <fct> <fct> <fct> <fct>
1 1 1 1 1 0 2 1 0 0 0
2 2 1 8 1 0 2 1 0 0 0
3 3 1 0 1 0 2 1 0 0 1
4 4 1 12 1 1 1 2 0 0 0
5 5 1 4 1 0 1 0 0 2 0
6 6 2 1 1 0 0 2 1 1 0
Я перекодировал "genomicevent" в переменную "KAL", которая имеет двоичные значения:
table(KAL)
KAL
0 1
93 14
Пока чтоЯ использовал функцию CrossTable, как показано ниже:
CrossTable(KAL, tumor$cytology, fisher=TRUE)
CrossTable(KAL, tumor$atypia, fisher=TRUE)
CrossTable(KAL, tumor$inflmm, fisher=TRUE)
Теперь, первый вопрос: есть ли способ сделать код выше более эффективным? Например, я попытался обойтись без успеха:
CrossTable(KAL, tumor[,6:9], fisher=TRUE).
Когда я запускаю приведенный выше код, я получаю сообщение об ошибке:
Error in CrossTable(KAL, tumor[, 4:6], fisher = TRUE) :
x and y must have the same length
Пишет функцию, необходимую для этого типа задачи? Если так, то как? Я также попытался сделать следующее:
fisher.tumor <- function(x) {
fisher <- CrossTable(x, tumor$cytology, fisher=TRUE)
return(fisher)
}
fisher.tumor(KAL)
Для чего-то подобного выше, как бы я эффективно применил функцию к другим столбцам, таким как "атипия", "пигментация"?
Я очень плохо знаком с R, и я много занимался поиском этой проблемы, но пока не нашел хорошего ответа. Очень ценю вашу помощь!