2015-08-18 24 views
0

雖然我找不到解決問題的有效方法,但我的問題非常簡單。 我想在列表的第一個位置加載一個新元素,然後向下移動其他元素。如何向下移動列表中的元素R

例如,我有3個元素

L=list("a","b","c") 
[[1]] 
[1] "a" 

[[2]] 
[1] "b" 

[[3]] 
[1] "c" 

我有一個字符串「Z」的列表L,我希望將其加載到我的列表L的第一要素,所以預計新的列表NL看起來像:

[[1]] 
[1] "z" 

[[2]] 
[1] "a" 

[[3]] 
[1] "b" 

[[4]] 
[1] "c" 

任何人都知道如何以優雅的方式做到這一點?謝謝!!

+1

'c(list('z'),L)' – rawr

+0

糟糕!我很抱歉,我沒有找到它,因爲我認爲我英語不好。 –

回答

1

這是可能的,但相當昂貴,使用append功能:

append(list("z"), L) 

儘管如此,純R伸長數據結構,是要避免的大部分時間的東西。如果您的算法需要這種操作,則最好使用RCpp

否則,最好預先分配一個更大的結構,並填充值。

+1

我認爲你是waay這個問題 – rawr

+0

追加罰款,真的不需要RCpp –

+0

@rawr也許有點。不知何故,簡單的事實,「列表」不是真的是一個列表讓我着急:) – zero323