[R] Removing Double Quotations After Using Cbind
David Winsemius
dwinsemius at comcast.net
Thu Jun 7 01:09:56 CEST 2012
On Jun 6, 2012, at 3:51 PM, Joshua Budman wrote:
> Hi,
> I am trying to process genomics data and the presence of both
> characters and integers in an array is giving issues.
That is probably because you do not understand that it there is even
one character in an array, then that is what ALL the rest of the items
are.
> The following is
> an example:
>> a<-array(c(2,2,"X",1:3,2:4),dim=c(3,3))
>> b<-cbind(a[,1],a[,2])
> With the output being:
> [,1] [,2]
> [1,] "2" "1"
> [2,] "2" "2"
> [3,] "X" "3"
>
> Is there any way for me to remove the quotation marks from every
> integer/character in the new array? Or, is there a way to create the
> new array without getting the quotation marks?
It depend on what you mean by "not getting" or "removing the quotation
marks". What is your goal?
There is no way to have a mixture of character and numeric class items
in a matrix. (There is also no way of have a column in a data.frame
which is a mixture of different atomic classes.) The printed
representation of a character class dataframe will not produce quotes
on the console, admittedly a different behavior, but the internal
representations will be the same.
> data.frame(x=letters[1:3])$x == matrix(letters[1:3], 1)[1,]
[1] TRUE TRUE TRUE
> data.frame(x=letters[1:3])$x
[1] a b c
Levels: a b c
> matrix(letters[1:3], 1)[1,]
[1] "a" "b" "c"
You can have a matrix of lists and I think you can have items in a
column of a dataframe which are lists. Those are some uncommonly used
methods which would allow (with some added overhead) storing items of
different classes in a data structure that you could access with what
might be called dimensional indexing.
> matrix(c(list(1), list(2), list("a")), 1)
[,1] [,2] [,3]
[1,] 1 2 "a"
> str(matrix(c(list(1), list(2), list("a")), 1)[1,3])
List of 1
$ : chr "a"
> str(matrix(c(list(1), list(2), list("a")), 1)[1,2])
List of 1
$ : num 2
>
--
David Winsemius, MD
West Hartford, CT
More information about the R-help
mailing list