Rnewbie wrote:
sorry, I still have a question. What is the difference between an empty
vector and a vector of length 0?

When I assign
x<-c()
is.null(x) is TRUE

x<-integer(0)
is.null(x) is FALSE

NULL is a special object in R. is.null() returns TRUE for it. c() returns it. integer(0) is not a special object. It's a vector of type integer that has no elements. You can get other types of length zero vectors: list(), numeric(0), etc. (The 0 is optional in integer(0) and numeric(0), but I find it makes the code clearer.)

The type of an empty vector is important when you combine it with another one. For example,

c(1, integer(0))

gives a numeric vector, but

c(1, character(0))

converts the whole thing to character.

Duncan Murdoch

Duncan Murdoch-2 wrote:
Rnewbie wrote:
dear all,

I tried to use grep to match IDs in two dataframes

grep(DF1$ID[i], DF2$ID)

I wanted to use condition in a loop, but I have the problem to define
what
is in return if a match is not found. I used mode() and class() to
compare
between the attributes when a match is found and not found, but the mode
and
class are the same in both cases, numeric and integer, respectively.

When a match is not found, grep returns "integer(0)". Is.numeric() and
Is.integer() of the return gave TRUE but arithmetic calculation is not
possible.
See the Value section of the ?grep man page. By default, R returns a vector of indices of entries in x that match the pattern. Since you have no matches, you get a vector of length 0. That is printed as integer(0). (This is also the function call that would create a vector of length 0.)

One simple test for no results is  length(grep(...)) == 0.

Duncan Murdoch
For example,
If a match is not found for i=12,

grep(DF1$ID[12], DF2$ID) returns "integer(0)" and
grep(DF1$ID[12], DF2$ID)+10 returns "numeric(0)"

I will appreciate any suggestions. Thanks in advance.



______________________________________________
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.





______________________________________________
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.

Reply via email to