[R] Odp: Data frame with 3 columns to matrix
Michael Bach
phaebz at gmail.com
Tue Apr 19 14:21:13 CEST 2011
Petr PIKAL <petr.pikal at precheza.cz> writes:
> Hi
>
> r-help-bounces at r-project.org napsal dne 19.04.2011 09:46:47:
>
>> Dear R Users,
>>
>> Lets assume I have this data frame:
>>
>> x y z
>> 1 1.00 5 0.5
>> 2 1.02 5 0.7
>> 3 1.04 7 0.1
>> 4 1.06 9 0.4
>>
>> x and y columns are sorted and the values not necessarily integers. z
>> values are not sorted. Now I would like to create a matrix out of this
>> with x as first column values and y as first row values. Matrix element
>> a_11 shall be left NA. The a_ij should have the z value for the
>> corresponding x and y pair. The result shall be some sort of a grid and
>> then e.g. look like:
>>
>> [,1] [,2] [,3] [,4] [,5]
>> [1,] NA 5 6 7 9 (y)
>> [2,] 1.00 0.5 NA NA NA
>> [3,] 1.02 0.7 NA NA NA
>> [4,] 1.04 NA NA 0.1 NA
>> [5,] 1.06 NA NA NA 0.4
>> (x)
>>
>> This example is just for illustration. The resulting matrix should have
>> more numeric values than NA's.
>
> I am not sure if this is the solution you want
>
> tab<-xtabs(z~x+y, data=df)
> tab[tab==0]<-NA
>
This looks right, but the resulting table does not have rows == columns
and there are also no missing values (0 or NA) which should be there. I
think I did not make myself clear, please see also my reply to the
previous answer to my question by David Winsemius.
Thanks for your reply though!
More information about the R-help
mailing list