2012-04-11 18 views
1

私は一連のリストに対して操作を試み、実行します。例えば、
リスト (1,1,2,3,3,4,4,4,4,4,5)、 (1,1、NA、NA、NA、NA、NA、 NA、NA、NA、NA、NA、NA)、 (1,1,1,1、NA、NA、NA、NA、NA)、 (1,2,3,3、Mathematica:欠損値を持つリストの操作

次に、私は手段を含むリストを持っていたいと思います。 平均[リスト]は、欠損値 "NA"の処理方法がわからないため、正しく実行されません。 私が期待しているのは: (1,1,5,3,7,3,3,4,4など)

紛失や 'テキスト'値を無視する方法はありますか?あなたがそのような機能をExcelなどで操作するように、 ありがとう!

+3

もっと知りたいかもしれません:http://mathematica.stackexchange.com/ –

答えて

2

マトリックスの列の平均に興味があるようです。

Mean /@ (Transpose[lst] /. "NA" -> Sequence[]) 
:あなたのデータ配列が長方形である場合は、より簡単な方法は、 Sequence[]で(例 lst"NA"用)非利用可能な要素のために使用されているもののシンボル置き換えることであろうこの

lst = {{1, 1, 1, "NA", "NA"}, {2, 3, 4, 5, "NA"}, {6, 7, 8, 9, 10}}; 
Mean /@ DeleteCases[Transpose[lst], a_ /; Not[NumericQ[a]], {-1}] 

ような何かを行うことができます

2
l = {{1, 1, 1, "NA", "NA"}, {2, 3, 4, 5, "NA"}} 
[email protected]# & /@ (Cases[#, [email protected]"NA"] & /@ l) 

(* 
-> {1, 7/2} 
*) 
+0

また、「Mean/@(Cases [#、Excuse @ "NA"]&/ @ l) ' –

関連する問題