Re: [R] Coercing a list to integer?

From: Marc Schwartz <MSchwartz_at_mn.rr.com>
Date: Thu 19 Jan 2006 - 01:18:32 EST

On Wed, 2006-01-18 at 12:27 +0000, Norman Goodacre wrote:
> Dear group,
>
> I am nearly beside myself. After an entire night spent on a
> niggling little detail, I am no closer to to the truth. I loaded an
> Excel file in .csv form into R. It apparentely loads as a list, but
> not the kind of list you can use. Oh no, it converts into a list that
> cannot be converted into an integer, numeric, or vector, only a
> matrix, whihc is useless without integers.
>
> How can I get a list of the form [1] 1,2,3,4,5 into the form [1]
> 1 [2] 2 [3] 3 [4] 4 [5] 5? Depending on hwo you define a list,
> apparentely, it goes one way or the other.
>
> x <- list(1:5) means you have [1] 1,2,3,4,5
> y <- list(1,2,3,4,5) means you have [1] 1 [2] 2 [3] 3 [4] 4 [5] 5
>
> Can anyone help?#
>
> I woudl greatly appreciate it.
>
> Sincerely,
> Norman Goodacre
>

Presuming that you used read.csv() or similar, the imported CSV object should be a simple data frame.

It is not truly clear here what your problem is relative to how you want to use the imported data.

The difference between:

> list(1:5)
[[1]]
[1] 1 2 3 4 5

and

> list(1,2,3,4,5)
[[1]]
[1] 1

[[2]]
[1] 2

[[3]]
[1] 3

[[4]]
[1] 4

[[5]]
[1] 5

is that in the first case, you have a list with one element, which is a vector containing 5 elements:

> str(list(1:5))

List of 1
\$ : int [1:5] 1 2 3 4 5

whereas in the second case, you have a list with five elements, each of which is a vector with one element:

> str(list(1,2,3,4,5))

List of 5

``` \$ : num 1
\$ : num 2
\$ : num 3
\$ : num 4
\$ : num 5

```

Note also the not so subtle difference where in the first case, the result of the sequence 1:5 yields integers and in the second case, the elements are doubles (numeric), which is the default data type in R.

Please provide additional details on what it is you are trying to do here and we can attempt to offer more specific guidance.

HTH, Marc Schwartz

R-help@stat.math.ethz.ch mailing list