私はマージしている2つのデータセット(「傾向」と「保険」と呼ばれます)があり、どちらも同じような変数を持っています。そのような同様の変数の1つは "トレンド"データセットを除いて "レース"であり、エクセルはそれを文字変数としてコード化しており、 "保険"データセットではそれを数値としてコード化している。もちろん、これらの2つの変数が同じ型でない場合、これらの変数をマージすることはできません。また、「書式」オプションでExcelで型を数値に変更しようとしました。それは動作するようには見えなかった。 SASでXLSファイルを再インポートすると、「レース」は数字ではなく文字であったと言い続けました。変数タイプを変換した後に観測されたすべての観測
だから私はこのように、SASで変換を実行しようとしました:
DATA trends;
new = input(Race, 8.);
drop Race;
RENAME new = Race;
RUN;
ここでは出力があります。
NOTE: Numeric values have been converted to character values at the places
given by:
(Line):(Column).
66:13
NOTE: Variable Race is uninitialized.
NOTE: The data set WORK.TRENDS has 1 observations and 1 variables.
NOTE: DATA statement used (Total process time):
real time 0.01 seconds
cpu time 0.00 seconds
しかし、私はPROC CONTENTS DATA = trendsのときに終わった。新しいデータセットでは全く観測されません。もともとSASにXLSファイルをインポートしたのと同じように、800以上の観測値と20以上の変数が必要です。ここで
はPROC内容の出力が数値に「人種」に変換した後、次のようになります。すべての私の観察および他の変数に何が起こった
Obs Race
1 .
?基本的に、データセット全体の「トレンド」が欠落しています。
私が指摘しているエラーに加えて、(インポートステートメントを変更したり、別の方法でインポートしたりするなどして)おそらくこれを処理するより良い方法があるはずです。 Excelには必ずしもフォールトがあるわけではありません(Excelにはほとんど「タイプ」がありません)。入力変換の可能性が高くなります。それに関する別の質問をしてもよろしいですか、単にインポート時にタイプを設定するための質問を参照してください。 – Joe