It doesn't seem possible to index an ff-vector using a logical
ff-vector. You can use subset (also in ffbase) or first convert 'a' to
a normal logical vector:
library(ff)
library(ffbase)
data1 <- as.ffdf(data.frame(a = letters[1:10], b=1:10))
data2 <- as.ffdf(data.frame(a = letters[5:26], b=5:26))
a <- data1[[1]] %in% data2$a
subset(data1, a)
data1[a[], ]
HTH,
Jan
Lucas Chaparro <lpchaparro...@gmail.com> schreef:
Hello to everyone.
I'm trying to use the %in% to match to vectors in ff format.
a<-as.ff(data[,1]) %in% fire$fecha
aff (open) logical length=3653 (3653)
[1] [2] [3] [4] [5] [6] [7] [8] [3646]
FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE : FALSE
[3647] [3648] [3649] [3650] [3651] [3652] [3653]
FALSE FALSE FALSE FALSE FALSE FALSE FALSE
Here you see a part of the data:
data[1:20,] (just a sample, data has 3653 obs)
fecha juliano altura UTM.E UTM.N
1 1990-07-01 182 15 248500 6239500
2 1990-07-02 183 15 248500 6239500
3 1990-07-03 184 15 248500 6239500
4 1990-07-04 185 15 248500 6239500
5 1990-07-05 186 15 248500 6239500
6 1990-07-06 187 15 248500 6239500
7 1990-07-07 188 15 248500 6239500
8 1990-07-08 189 15 248500 6239500
9 1990-07-09 190 15 248500 6239500
10 1990-07-10 191 15 248500 6239500
11 1990-07-11 192 15 248500 6239500
12 1990-07-12 193 15 248500 6239500
13 1990-07-13 194 15 248500 6239500
14 1990-07-14 195 15 248500 6239500
15 1990-07-15 196 15 248500 6239500
16 1990-07-16 197 15 248500 6239500
17 1990-07-17 198 15 248500 6239500
18 1990-07-18 199 15 248500 6239500
19 1990-07-19 200 15 248500 6239500
20 1990-07-20 201 15 248500 6239500
fire$fecha[1:20,] [1] "1984-11-08" "1984-11-08" "1984-11-09"
"1984-11-09" "1984-11-09"
[6] "1984-11-10" "1984-11-10" "1984-11-11" "1984-11-11" "1984-11-11"
[11] "1984-11-11" "1984-11-11" "1984-11-11" "1984-11-12" "1984-11-12"
[16] "1984-11-13" "1984-11-13" "1984-11-13" "1984-11-14" "1984-11-14"
to see if a got any match:
table.ff(a)
FALSE TRUE
1687 1966 Mensajes de aviso perdidosIn if (useNA == "no") c(NA, NaN) :
la condición tiene longitud > 1 y sólo el primer elemento será usado
in a regular data.frame I use data[a,] to extract the rows that a ==
TRUE, but when i do this in a ffdf i get this error:
data[a,]Error: vmode(index) == "integer" is not TRUE
I'm just learning how to use the ff package so, obviously I'm
missing something
If any of you knows how to solve this, please teach me.
Thank you so much.
Lucas.
[[alternative HTML version deleted]]
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.