more generally
x <- c("A", "A", "B", "C", "B", "A", "C")
as.data.frame(Map(match , table = unique(x), nomatch = 0, x = list(x)))

Andrea


On 11 December 2013 14:43, Duncan Murdoch <murdoch.duncan@gmail.com> wrote:

> On 13-12-11 8:22 AM, PIKAL Petr wrote:
>
>> Hi
>>
>>  -----Original Message-----
>>> From: r-help-bounces@r-project.org [mailto:r-help-bounces@r-
>>> project.org] On Behalf Of Arnaud Michel
>>> Sent: Wednesday, December 11, 2013 2:01 PM
>>> To: R help
>>> Subject: [R] To transform a vector of qualitatives values into a
>>> dataframe of quantitatives values
>>>
>>> Hi
>>>
>>>   From the vector
>>> X <- c(A, A, B, C, B, A, C)
>>>
>>
>> What is A, B and C? If you expect them to be letters, they need to be in
>> parentheses.
>>
>
> You mean "quotes", not parentheses.
>
>
>>
>>> I would like to build the Dataframe :
>>> data.frame( A=c(1,1,0,0,0,1,0), B=c(0,0,1,0,1,0,0), C=c(0,0,0,1,0,0,1))
>>>
>>> Any ideas ?
>>>
>>
>> X <- sample(letters[1:3], 10, replace=T)
>> X
>>   [1] "c" "c" "a" "b" "c" "c" "a" "a" "a" "a"
>> data.frame(A=(X=="a"), B=(X=="b"), C=(X=="c"))
>>
>
> A simpler way is to use model.matrix.  With your example,
>
> X <- factor(X)
> m <- model.matrix( ~ X - 1)
>
> (The names of the columns may need adjusting.)
>
> Duncan Murdoch
>
> ______________________________________________
> 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.
>

	[[alternative HTML version deleted]]

