2017-03-21 8 views
0

私は、定量データで変換したい定性的なデータの30列を持っています。Rテーブル()ラベル

まず、各列に格納されている値を調べ、この値の各インスタンスを数値で置き換えます。テーブル()またはサマリー()のいずれかを使用して各データ値の頻度表を取得できますが、これらの値にアクセスすることはできません。気にしない頻度しか得られません。私はユニークな()と重複()も無駄に見てきました。

たとえば、最初の列には、「dummy1」、「dummy2」、「dummy3」、「dummy4」または「dummy5」のいずれかを含む10,000行があります。私はこれらの値をそれぞれ1、2、3、4、5と置き換えたいと思います。

テーブル(データ)は、各定性的な値の頻度の要約を私に提供しますが、私は後で変数に "dummy1"などの値を分けることができません。私は30列のデータを持っているので、これらのダミー値をハードコードしたくありません。 Unique()は一意の値しか与えませんが、それぞれの可能な値のリストが必要です。

何か助けが必要です。

+0

変換する各式のインデックスを見つけるには、which()を使ってみてください。例: – DBD

答えて

0

変換する各式のインデックスを見つけるには、which()を使ってみてください。以下の例は、あなたを始めるのに十分なはずです。あなたは、ループまたは機能的なステートメントを使用してデータセット全体にこの考え方を拡張することができます

a <- c("dummy1", "dummy1", "dummy2", "dummy1", "dummy3") 
df <- data.frame(a=a, b=a, stringsAsFactors = FALSE) 
print(df) 
index <- which(df[1]=="dummy1") 
df[index, 1] = 3 
print(df) 


> print(df) 
     a  b 
1 dummy1 dummy1 
2 dummy1 dummy1 
3 dummy2 dummy2 
4 dummy1 dummy1 
5 dummy3 dummy3 
> index <- which(df[1]=="dummy1") 
> df[index, 1] = 3 
> print(df) 
     a  b 
1  3 dummy1 
2  3 dummy1 
3 dummy2 dummy2 
4  3 dummy1 
5 dummy3 dummy3 
0

私の問題は、私はハードコード「dummy1」にしたくなかったということでした。各列にどのようなカテゴリが含まれているのかわからず、30列あります。私は別の質問...レベル(as.factor(dataCol))で探していたものを見つけました。これは私に列 "dataCol"のカテゴリのリストを与えます。

しかし、あなたのコードは次のステップに必要なものですので、ありがとうございます!