Re: [問題] 如何下 statics-regression 的參數
※ 引述《gilberthsu (雪循)》之銘言:
: 因為有 700x20000 以上的資料需要作 regression
: 資料格式是 .csv 檔
: expression,Ctcf_0,H2az_0, ...
: 1.639966339,0,13.08689976, ...
: 0.278085646,16.25440025,12.86340046, ...
: -1.070784985,0,23.0781002, ...
: 0.790170416,0,12.53590012, ...
: -1.837946653,0,14.08780003, ...
: ...
: 因此沒辦法用作者的範例方法,一個一個 key 進去
: 後來看了 package 內發現可以用 array 的方式丟參數
: my $reg = Statistics::Regression->new($regname, \@var_names)
: 不過怎麼測試都測不出來要怎麼放參數
: 以下是我試著寫的 code
: #!/usr/bin/perl -w
: use Statistics::Regression;
: my $reg = Statistics::Regression->new($expr_data, \@genename);
: open training, "training.csv";
: $genename = <training>;
: chomp $genename;
: @genename = split /,/, $genename; # 1st row is gene's name
: $expr = shift @genename; #1st data is sample expression
: unshift @genename, "const"; #put const column in array
: while (<training>){
: chomp;
: @train = split /,/, $_;
: $expr_data = shift @train;
: unshift @train, 1.0;
: my $reg->include( $expr_data, \@train );
: }
: $reg->print();
: close(training);
: 感謝大家指點
#!/usr/bin/perl -w
use Statistics::Regression;
open training, "training.csv";
$genename = <training>;
chomp $genename;
@genename = split /,/, $genename; # 1st row is gene's name
$expr = shift @genename; #1st data is sample expression
unshift @genename, "const"; #put const column in array
my $reg = Statistics::Regression->new($expr,[@genename]);#取得$expr跟@genename
while (<training>){
chomp;
@train = split /,/, $_;
$expr_data = shift @train;
unshift @train, 1.0;
$reg->include( $expr_data, [@train] ); #去除my,@train改成AOA型式
}
$reg->print();
close(training);
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.76.175.169
推
12/20 12:19, , 1F
12/20 12:19, 1F
討論串 (同標題文章)
Perl 近期熱門文章
PTT數位生活區 即時熱門文章