SAS中文论坛
标题:
关于iml里的一个问题
[打印本页]
作者:
shiyiming
时间:
2008-3-1 15:14
标题:
关于iml里的一个问题
大家好,我是个sas的初学者
最近在聚类时,需要对矩阵等进行操作
遇到的问题是:
我想针对矩阵中的元素进行运算,假设把矩阵中大于某个数的元素全都转换成1,不知道这个在sas中如何实现呢?
先谢谢了~
作者:
shiyiming
时间:
2008-3-7 15:50
标题:
Re: 关于iml里的一个问题
最简单的方法, 比如大于5的matrix的元素赋与 1.
proc iml;
x = {6 7,
8 2};
do i = 1 to nrow(x);
do j = 1 to ncol(x);
if x[i,j] > 5 then
x[i,j] = 1;
end;
end;
print x;
hope that helps
作者:
shiyiming
时间:
2008-3-20 10:43
标题:
Re: 关于iml里的一个问题
可以使用LOC函数
用LOC返还大于某个数的元素在矩阵中的index,然后再把对应的元素设成1
[code:1o25c6rd]proc iml;
x={5 -1 0, 6 2 9};
x[LOC(x>3)]=1;
create test from x;
append from x;
quit;[/code:1o25c6rd]
欢迎光临 SAS中文论坛 (https://mysas.net/forum/)
Powered by Discuz! X3.2