問題タブ [recode]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - R で複数の変数にまたがる単一変数の再記録
人種に関する質問がある調査データを扱っています。各レース カテゴリは独自の変数です。これが私がやりたいことです:
- 新しい変数 を作成します
p.race
。 p.race
人種/民族 (下記) の 8 つの変数のいずれかの値を割り当てます。- 個人が 2 つ以上のレースを記録したかどうかを判断し
p.race
、そのような場合は「2 つ以上のレース」という値を割り当てます。 p.race
彼らがこの民族性を示した場合、「ヒスパニック系またはラテン系」という値を割り当てます。- 彼らが有色人種であるかどうかを示す新しい変数 を作成します
p.poc
(つまり、ヒスパニック/ラテン系を含む白人ではない)。これは 0 または 1 になります。
8 つの人種カテゴリーは、白人*、黒人*、アジア人*、AIAN*、NHPI*、その他の人種*、2 つ以上の人種*、およびヒスパニックです。ここで、* はヒスパニックでもラテン系でもない民族性を示します。
「2つ以上のレース」を解析するためにこれまでに試したのは次のとおりです。
実行すると、次のエラーが返されます。
そして、これが私のpoc
変数コーディングであり、以下のエラーがあります:
非常に長いコードにrace
せずに、新しい変数に 8 つの人種カテゴリの 1 つを割り当てるには、どこから始めたらよいかわかりません。
参考になる場合は、以下のアンケートの質問をご覧ください。
Q1. 自分はヒスパニック系、ラテン系、またはスペイン系の出身だと思いますか?
- はい
- いいえ
Q2. あなたはどの人種に共感しますか (該当するものすべてにチェックを入れてください)?
- 白人、ヨーロッパ人、中東人、白人
- 黒人、アフリカ系アメリカ人、またはアフリカ系アメリカ人
- アジア人またはアジア系アメリカ人
- アメリカインディアンまたはアラスカ先住民
- ネイティブ ハワイアンまたはその他の太平洋の島民
- その他(具体的にご記入ください)
そして、ここにサンプル出力があります (テキストは切り捨てられています):
そして、ここにdput
出力があります:
r - Rでデータフレーム内の一連の変数を再コーディングする方法
1 から 5 までの値を含むさまざまな変数を持つデータフレームがあります。5 が 1 になり、その逆 (x=6-x) になるようにいくつかの変数を再コーディングしたいと考えています。データフレームでこのように再コード化される変数のリストを定義したいと思います。
を使用した私のアプローチは次のとおりlapply
です。私はまだそれを本当に理解していません。
r - 2 つの data.tables で 2 つの変数のコーディングを変更し、data.table をマージします。
2 つの data.tables (「偶数」と「奇数」) があり、それぞれに変数「時間」(1:6) があります。「偶数」の「時間」が偶数のみを持ち、「奇数」の「時間」が奇数のみを持つように、2 つの「時間」変数を再コーディングしたいと考えています。これは私がこれまでに行ったことです:
ここで、2 つの data.tables を 1 つの data.table にマージします。新しい data.table には、id、emotion、learning、および「time_x」という名前の 1 つの変数が含まれている必要があります。「time_x」は、time_even と time_odd のマージ結果である必要があります。新しい data.tables には 2 倍の行が含まれていますが、列の数は同じです (古い変数「時間」は削除できます)。
結果のテーブルは次のようになります。
誰か助けてくれませんか?
r - Recode in Car パッケージで、文字列の再コーディング時に予期しない記号が返される
カー パッケージの再コード化機能を使用しているときに、繰り返し発生する問題に遭遇しました。公に使用されている例を再作成すると ( http://susanejohnston.wordpress.com/2012/07/18/find-and-replace-in-r-part-1-recode-in-the-library-car/ )
そして、やります:
戻り値:
エラー: "y1 <- recode(y, "c("Perch" の予期しないシンボル
R 3.1.0 を実行しており、car_2.0-22 を使用しています
ページの作成者は投稿されたアクションを完了することができたと思いますが、それを再現することはできません。これは私のデータと同じ問題です。考え?
r - R: 複数の文字を 1 つの新しい要素に再コーディングする
私は R を初めて使用するので、このサイトで私の質問に対する具体的なヘルプを見つけることができませんでした。
データフレーム $grant_database、country_1 から country_10 に 10 個の文字変数があります。それぞれの国コード (E20、F27、G10 など)、または NA のいずれかが含まれています。各ケースは、プロジェクトへの助成金です。10 の国変数は、助成金が恩恵を受ける国を指定します。私のデータフレームでは、すべてではありませんがほとんどのケースに少なくとも 1 つの国コードがあり、最初は country_1 にマークされています。多くの場合、country_2 にも 1 つ、country_3 から _10 にも 1 つ含まれています。空のフィールドはすべて NA でマークされます。
定義された国のサブセットに利益をもたらす助成金にフラグを立てる新しい要素を作成したいと考えています。この 2 進数の「ダミー」変数は、10 の国変数のうち少なくとも 1 つが国コードのリストに対応する場合に値「1」を与える必要があります。10 の国変数のいずれにも対応する国コードがない各ケース/許可には「0」を指定する必要があります。フラグが立てられる国コードのこのサブセットを、E20、F27、および G10 とします (実際には、150 以上から約 40 のフラグが立てられます)。
これをプログラムする方法を提案して、私を助けてくれませんか? ご助力ありがとうございます!
r - リスト内の変数の記録
私は「簡単すぎる質問はない」という精神で書いていると思います。私は、初めて R に近づき、終わりのない夜を R に直面させている平均的な Stata ユーザーの社会科学者にすぎません。ご容赦ください。
私は 20 か国からの比較データセット (約 20,000 の観察、国間で非常にバランスが取れている) を使用しています。非常に計算量の多い MCMC シミュレーションのセットを実行する必要があるため、df を 20 個の (国固有の) df を含むリストに分割し、 に進むことにしましlapply()
た。for
( R でループを回避する方が効率的であると読みましたよね?)
私の最も差し迫った問題は、リストに含まれるさまざまな df 内の要素を前処理できないことです。特に、15 個の変数のセットを再コーディングする必要があります。これらは 0 から 10 の範囲の整数で、欠落しているケースの SPSS の典型的な値を含みます: 77 88, 89, 99, 999
. これらの値を に再コード化してからNA
、少し追加の変換を行いたいと思います。0 を中心にして、2 つの df オブジェクトT
を定義TT
し、後でシミュレーションで使用する 2 つの異なる変数セットを使用します。このタスクは、「マスター」リスト「ees2009split」を構成する 20 の異なる国固有のリスト要素にわたって繰り返す必要があります。
これが私のリストです(再現可能な例を提供できず申し訳ありません):
など... 国 20 まで。
lapply()
関数rename()
とで呼び出される 2 つの関数を定義しましたrecode()
。
ここまでは順調ですね:
再コーディング機能を使用すると、代わりに苦労しています:
これは出力です:
1) のリストに含まれるデータ フレーム内の変数をどのように再コーディングすればよいlapply()
ですか? より広くは、関数内で国 df 内にオブジェクトを挿入するにはどうすればよいですか? 2) より一般的な立場では、この進め方は正しいですか? 分割し、タスク固有の関数を定義し、それらを で呼び出しlapply()
、最後に再結合しますか?
提案やコメントをありがとう。アンドレア
r - NA を省略して値を再コード化する
すべての値 <=.2 が 2 になり、<=.4 が 3 になるように、マトリックスの値を再コード化したいと考えています。 NA)。ここに、私のコードの簡略化されたバージョンがあります。na.omit を使用すると、最初の変更で完全に機能します
ただし、より高いカテゴリに対して同じことを行うと、NA も変更されます。
誰かが私に2つの違いは何ですか、そしてなぜ2番目のものもNA値を変更するのに最初のものは変更しないのか説明できますか? それとも私は何か他のことを間違っていますか?