私はあなたのお役に立てることを願っております。 私はこれを行うさまざまな方法を試してきましたが、正しい答えを見つけることができません。 私はかなり新しくRですが、私が持っているデータをフォーマットするためのスクリプトを書いています。 最終的には、データが入ってくるたびにこのスクリプトを実行したいと考えています。対応する数値/文字を参照するデータフレームに列を追加してください
多くの種類のコードには対応する3文字の国があります(例: GBRまたはNLDなど)。 私がしたいことは、繁殖コードに対応する国コードを含む、自分のデータに新しい列を作成することです。
私が抱えている問題の1つは、すべての数字(1-80)に対応する国コードがあるわけではないということです。 したがって、同じタイプではないので、それらのベクトルをすべて作成することはできません。
関連する国コードがない場合は、国コードを品種コードの番号にしたいと思います。 たとえば、品種コード6には国が関連付けられていないため、新しいsire_country列の関連フィールドに「6」を入力します。
私が役に立った場合、私が使用しようとしているスクリプトを無駄に追加しました!
#denoting country codes for breed codes 1-80
breed_country<-c("GBR", "GBR", "GBR", "GBR", "GBR", "6", "GBR", "8", "9",
"10",
"11", "GBR", "NZL", "GBR", "GBR", "16", "DNK", "18", "19", "GBR", "21",
"GBR",
"23", "24", "25", "26", "CHE", "28", "29", "30", "31", "32", "33", "34",
"35",
"36", "37", "38", "39", "40", "41", "42", "CZE", "44", "45", "IRL", "AUS",
"POL", "DEU", "50", "51", "SWE", "DEU", "ESP", "55", "56", "57", "58",
"SWE",
"DEU", "DNK", "NZL", "NLD", "CAN", "USA", "66", "67", "68", "USA", "70",
"FRA",
"ITA", "FIN", "JEY", "GGY", "76", "NOR", "78", "79", "80")
breed_id<-c("Sire.Breed")
sire_country<-breed_country[breed_id]
sire_country[is.na("Sire.ID")]<-""
#the output looks like
sire_country
[1] NA
#when I add sire_country to my data frame, I get
sire_country
1 <NA>
2 <NA>
3 <NA>
4 <NA>
5 <NA>
6 <NA>
7 <NA>
8 <NA>
9 <NA>
10 <NA>
11 <NA>
12 <NA>
13 <NA>
14 <NA>
15 <NA>
# "Sire.Breed" is a column containing numerical breed codes in the data
frame: df
# sire_country is what I want the new column with the country codes in to be
called
# if there is no "Sire.ID" present, I want the field to remain blank - I
have used this function elsewhere and it work fine
私のデータは、.csvファイルから読み込まれます。残念ながら私はそれを秘密にすることはできません。しかし、架空の例は次のようになります。
animal name breed Mother Father ID Company DOB
1 Alice 2 Vera Tom 123456789012 Heinz 12/05/2017
2 Kate 63 Lucy Jack 123456987147 Google 03/06/2017
(私は申し訳ありませんが、より良いテーブルをフォーマットすることはできません)
それから私は、品種(この場合は2または63)に関連する国コードを、したいと思いますそのように最後に追加される:
animal name breed Mother Father ID Company DOB Country
1 Alice 2 Vera Tom 123456789012 Heinz 12/05/2017 GBR
2 Kate 63 Lucy Jack 123456987147 Google 03/06/2017 NLD
謝罪を私は、この全体に間違った言語を使用している場合、私はまだ学んでいます! 私に与えることができれば、非常に感謝します。
ありがとうございました!
国コードだけではなく、データも入力してください。 –
実際に列があるデータ構造から始めましょう。私。 'data.frame(code = 1:80、country = breed_country)'です。期待される出力を視覚的に表現してください(手動で作成してください)。そして、80行が過度なものであり、10行がポイントを取得するのに十分である。 –
私はあなたが作成したい 'breed'カラムと新しいカラムの違いを理解するのに苦労しています。あなたの例が 'breed'列と所望の列に関して異なるシナリオを示したら(例えば、' breed'のどのような種類の値が結果colの値にマップされるか) –