[R] get index of current element in vector

Uwe Ligges ligges at statistik.tu-dortmund.de
Tue Jun 5 14:17:21 CEST 2012



On 05.06.2012 00:36, Erdal Karaca wrote:
> Thanks all, that worked!
>
> Yes, it should be
> for (i in 1:length(a)) a[i]<- scalar * a[i] * i
>
> And now is...
>
> a<- a * scalar * seq_along(a)
>
> That is almost as cool as the PERL programming language :-)


Almost?

Uwe Ligges



> 2012/6/4 Rui Barradas<ruipbarradas at sapo.pt>
>
>> Hello,
>>
>> Just learning the alphabet? If yes, there's a difference between 'v' and
>> 'a'.
>>
>> Now more seriously. Your description and your loop don't do the same.
>>
>> Description:
>> vm<- scalar * v * seq_along(v)
>>
>> Loop:
>> a<- scalar * a
>>
>> Also, seq_along is the way to do it, it works even if length(a) == 0.
>>
>> Hope this helps,
>>
>> Rui Barradas
>>
>> Em 04-06-2012 21:25, Erdal Karaca escreveu:
>>
>>> (Just learning R)
>>>
>>> I have this vector:
>>>
>>> v<- c(1:10)
>>>
>>> Now, I want to multiply each element of that vector with a scalar value
>>> multiplied with its index:
>>>
>>> vm<- v * scalar * indexOfCurrentElementOf_v
>>>
>>> Is that possible without using a loop?
>>>
>>> In a loop I would do this:
>>>
>>> for (i in 1:length(a)) a[i]<- scalar * a[i]
>>>
>>>         [[alternative HTML version deleted]]
>>>
>>> ______________________________________________
>>> 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.
>>>
>>
>
> 	[[alternative HTML version deleted]]
>
> ______________________________________________
> 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.



More information about the R-help mailing list