私はRを使用します。私の答えがあまりにも "ばかげた"とは思われないことを願っていますが、実際に私が行ったエラーを理解することはできません。2つの変数の数値コードをrの2つのdfで異なるように変更
私は2002年から2014年までの全国調査を行い、毎年、インタビューを受けた人物が働く会社の次元(労働者数)を尋ねられます。 数値コード(1,2、..)が各クラスディメンションに関連付けられています。 2008年7〜2014年のクラスからのに対し、2006年から2002年から、私は次元の6クラスを、持っている:
2002-2006 2008-2014
0-4 workers -> 1 0-4 workers -> 1
5-19 workers -> 2 5-15 workers -> 2
20-49 workers -> 3 16-19 workers -> 3
50-99 workers -> 4 20-49 workers -> 4
100-499 workers -> 5 50-99 workers -> 5
>500 workers -> 6 100-499 workers -> 6
>500 workers -> 7
まず、私はコード2年2008-14におけるクラス3(16-19労働者)のコードを変更し、
d.d <- data.frame(id=c(1,2,3,4,5,6), yr=c("2002", "2004", "2006", "2008", "2010", "2014"), dim=c(1,2,3,3,4,7))
For example:
id yr dim
1 2002 1
2 2004 2
3 2006 3
4 2008 3
5 2010 4
6 2014 7
所望の出力である:2002-06におけるコードの同じクラスの寸法(5-20労働者)を有するために
id yr dim
1 2002 1
2 2004 2
3 2006 3
4 2008 2
5 2010 3
6 2014 6
コマンドを1
d.d$dim2 <- ifelse(d.d$dim=="3" & d.d$yr=="2008",2,
ifelse(d.d$dim=="3" & d.d$yr=="2010",2,
ifelse(d.d$dim=="3" & d.d$yr=="2012",2,
ifelse(d.d$dim=="3" & d.d$yr=="2014",2,
d.d$dim))))
dimは会社の次元であり、yrは年です。このようにして、2008年から2014年にかけてクラス3からクラス2に正しく変更されました。
コードは同じクラスディメンション(2002-06コード3(20-49人の労働者)、2008-14コード4 Iは、第2のコードの変更コードは、コマンド1を使用して、コマンドによって1つの
結果を変更したことに気づい
COMMAND 2
d.d$dim2 <- ifelse(d.d$dim=="4" & d.d$yr=="2008",3,
ifelse(d.d$dim=="4" & d.d$yr=="2010",3,
ifelse(d.d$dim=="4" & d.d$yr=="2012",3,
ifelse(d.d$dim=="4" & d.d$yr=="2014",3,
d.d$dim))))
:20-24労働者))私は前のようにコードをallignしようとしました
d.d
id yr dim dim2
1 1 2002 1 1
2 2 2004 2 2
3 3 2006 3 3
**4 4 2008 3 2**
5 5 2010 4 4
6 6 2014 7 7
RESULT
d.d
id yr dim dim2
1 1 2002 1 1
2 2 2004 2 2
3 3 2006 3 3
**4 4 2008 3 3**
5 5 2010 4 3
6 6 2014 7 7
(COMMAND 1後)COMMAND 2を適用した後、私はエラーを理解することはできません。
を使用している場合、彼らはすべてがまったく同じことをやっている場合は、なぜあなたは4 'ifelse'を埋め込むでしょうか?なぜ、 '' d.d $$ == 4&d.d $ yr '%in%' c(2008年、2010年、2012年、2014年)、 "dim2"] < - 3'''ですか?また、数値が文字として指定されているのはなぜですか?たとえば、「4」の代わりに「4」を使用するのはなぜですか?また、[Rの再現可能な例]を作る方法を見てください(http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) –