Loop R - Adicionando linhas sem dimensões predefinidas
Quero armazenar os resultados de um teste dentro de um Rfor
loop dentro de uma matriz ou data.frame com (neste caso) duas colunas,mas um número indeterminado de linhas, porque o número de linhas dependerá de umif
declaração.
Estou comparando contagens para os dias da semana e depois comparações aos pares. Este é o código como está agora:
week <- c(Mon = 401, Tue = 199, Wed = 187, Thur = 202, Fri = 240, Sat = 212, Sun = 244)
names(week) <- NULL
observed <- week
for(i in 1:(length(observed) - 1)){
for(j in 1:(length(observed))){
test <- chisq.test(c(observed[i], observed[j]), p = rep(1/2, 2))
if(test$p.value < 0.002380952) print(c(i,j))
}
}
A saída é agora:
[1] 1 2
[1] 1 3
[1] 1 4
[1] 1 5
[1] 1 6
[1] 1 7
[1] 2 1
[1] 3 1
[1] 4 1
[1] 5 1
[1] 6 1
Mas, dependendo dos resultados daif
declaração na função, poderia ter sido muito mais longo. Além disso, eu quero apagar as permutações.
Procurando maneiras de iniciar uma matriz vazia (ou data.frame) no loop, elas parecem incorporar as dimensões antes do tempo, como emdays <- matrix(NA, nrow = length(observed)^2, ncol = 2)
.
Em vez disso, gostaria de ter um número indeterminado de linhas.