[R] ddply - how to transform df column "in place"
David Winsemius
dwinsemius at comcast.net
Wed Aug 24 00:48:56 CEST 2011
On Aug 23, 2011, at 6:38 PM, David Winsemius wrote:
>
> On Aug 23, 2011, at 6:16 PM, jjap wrote:
>
>> Dear R-users,
>>
>> I am trying to get the plyr syntax right, without much success.
>>
>> Given:
>> d<- data.frame(cbind(x=1,y=seq(20100801,20100830,1)))
>> names(d)<-c("first", "daterep")
>> d2<-d
>>
>> # I can convert the daterep column in place the classic way:
>> d$daterep<-as.Date(strptime(d$daterep, format="%Y%m%d"))
>>
>> # How to do it the plyr way?
>> ddply(d2, c("daterep"), function(df){as.Date(df, format="%Y%m%d")})
>> # returns: Error in as.Date.default(df, format = "%Y%m%d") :
>> # do not know how to convert 'df' to class "Date"
>
> I'm pretty sure that when you do that you are sending dataframes to
> 'x' that have been split apart on the basis of their daterep values.
> Why should there be a "plyr way" of converting types when there is
> no splitting of dataframes needed?
>
> If you wanted nevertheless to do it the "plyr way":
>
> d2 <- ddply(d, NULL , transform,
> daterep = as.Date(strptime(d$daterep, format="%Y%m%d"))
Make that:
d2 <- ddply(d, NULL , transform,
daterep = as.Date(strptime(daterep, format="%Y%m%d")) )
d2 # you do get an unnecessary column
>
> --
>
> David Winsemius, MD
> West Hartford, CT
>
> ______________________________________________
> R-help at 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.
David Winsemius, MD
West Hartford, CT
More information about the R-help
mailing list