R******d 发帖数: 1436 | 1 想对一个数据集的某一特定的列作permutation,其他列保持原样不动,网上找了一个
例子如下:
data have;
input (column1-column3) ($);
cards;
herring apple Jimmy
salmon orange Bertha
cod kiwi Piotr
haddock banana Lizzie
;
run;
proc iml;
use have;
read all var _ALL_ into x[c=vnames];
close;
x[,2]=t(ranperm(x[,2]));
create want2 from x[c=vnames];
append from x;
close;
quit;
可以对第二列进行permutation。但是这个代码好像只能字符变量,如果第二列是数值
变量,读不进去,比如:
herring 1 Jimmy
salmon 3 Bertha
cod 2 Piotr
haddock 4 Lizzie
请问如果数据集有数值列和字符列,应该怎么使用proc iml对数值列进行permutation?
谢谢。 |
|