[英]SAS Programming: Assignging an array to a dataset column
我有數據集,我想為我的一列分配一個數組。
舉個例子:
x y z
2 1 5
9 3 5
2 3 4
我想將數組Arrayx分配給變量x,以便Arrayx {1} = 2,Arrayx {2} = 9和Arrayx {3} = 2。
在SAS中可能嗎?
謝謝!
否。SAS數據步驟作為圍繞數據集的外環運行。 您可以通過lagX()函數訪問當前記錄和滯后值。 數組跨行而不是列操作。
這需要您重新考慮如何解決問題。 如果您需要幫助,請提出問題,我相信這里有人會幫助您。
是的,有可能。
data arrayout ; set mydata (obs=3) ; array arrayx{3} ; retain arrayx . ; n+1 ; arrayx{n} = x ; keep arrayx: ; run ;
如果有10個觀察值怎么辦? 您是否要在數組中“寬” 10個元素? 您可能最好看一下PROC TRANSPOSE。
如果可以使用的話,您要的是SAS / IML中的列向量(SAS / IML與R相似,因為它使用矩陣作為其主要數據對象,而不是按行數據集)。 在基本SAS中,如果不重組數據就無法做到(如Chris所示)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.