Estoy tratando de guardar los datos de un ciclo de pruebas lógicas.Loop in R: cómo guardar las salidas?
Así que tienen los siguientes datos:
T1 <- matrix(seq(from=100000, to=6600000,length.out=676),26,26) # a matrix of 26X26 - here with illustrive values
minmax <- seq(from=1,to=49,by=1) # creates a sequence
Fstep <- 6569141.82/minmax # define a vector from 0 to 6569141.82 with 49 divisions
F <- rev(round(Fstep,0)) # round the vector values and re order them
F
He runned el siguiente bucle
for (i in 1:49) {
print(T1 > F[i]) # I used print to see the results in the screen
}
Este circuito me devuelve matrices 49 se rellenaron con valores lógicos (verdadero o falso). Cada matriz es la comparación de T1 contra cada una de las 49 posiciones F [i] (F [1], ...., F [49])
Necesito tener los valores en esas matrices para seguir usando como matrices de adyacencia para trazados de red. Sin embargo, cuando no puedo asignar esos valores lógicos a una matriz, tampoco los guardo en valores csv usando "write.matrix".
Por lo tanto, necesito tener 49 matrices "W" rellenas con valores lógicos (T o F). Ya obtuve esos valores por el ciclo anterior, pero no puedo obtenerlo como un objeto o como una colección de csv. archivos.
me trataron
W<-matrix(0,26,26) #create an empty matrix to assign the logical arguments
for (i in 1:49){
W[i] <- T1>F[i] # I used print to see the results in the screen
}
que devuelve la siguiente advertencia
Warning messages:
1: In W[i] <- (T1 > F[i]) :
number of items to replace is not a multiple of replacement length
También probé un entorno diferente en el que todas las matrices comparo tienen las mismas dimensiones.
create.M <- function(F){ # a function to transform each position F[i] into a 26X26 matrix
for (i in 1:49) {
matrix(F[i],26,26)
}
}
Loop.T1 <- function(T1){ # a function to replicate T1(49 times)
for (i in 1:49) {
T1
}
}
y compararon las dos salidas
Loop.T1(T1)>create.M(F)
que devuelve
logical(0)
Si se va a utilizar para los bucles que hay que aprender que la asignación es necesaria dentro del bucle. De lo contrario, nada duradero "sucede". –