[R] indexing in data frames
peter dalgaard
pdalgd at gmail.com
Fri Aug 10 15:17:17 CEST 2012
On Aug 10, 2012, at 01:36 , William Dunlap wrote:
> And if you are extremely concerned with speed, do
> not compute a$b and a$c in every iteration of the loop.
> E.g., change
> lapply(seq_along(a$c),function(x) a$b[x]-a$c[[x]])
> to something like
> with(a, lapply(seq_along(c), function(x)b[x] - c[[x]]))
>
This seems to be working fine as well:
> a <- data.frame(b = 1:2, c = I(list(2, 1:2)))
> a <- within(a, dif <- mapply("-", b, c))
> a
b c dif
1 1 2 -1
2 2 1, 2 1, 0
> Bill Dunlap
> Spotfire, TIBCO Software
> wdunlap tibco.com
>
>
>> -----Original Message-----
>> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf
>> Of R. Michael Weylandt
>> Sent: Thursday, August 09, 2012 4:22 PM
>> To: arun
>> Cc: R help; jimi adams
>> Subject: Re: [R] indexing in data frames
>>
>> On Thu, Aug 9, 2012 at 5:30 PM, arun <smartpink111 at yahoo.com> wrote:
>>>
>>> lapply(1:length(a$c),function(x) a$b[x]-a$c[[x]])
>>
>> Arun,
>>
>> I've seen you use this idiom a few times lately and I'd just like to note that
>>
>> seq_along()
>>
>> is an (underutilized) primitive and a safer and faster alternative
>> (avoiding the pathological length(x) = 0 case).
>>
>> Cheers,
>> Michael
>>
>> ______________________________________________
>> 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.
>
> ______________________________________________
> 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.
--
Peter Dalgaard, Professor
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Email: pd.mes at cbs.dk Priv: PDalgd at gmail.com
More information about the R-help
mailing list