1. ホーム
  2. r

[解決済み】エラー。Rの'break'の数が無効

2022-02-01 10:56:18

質問

従業員データのテキストファイルがあり、そこには従業員が受け取った昇給額、従業員が昇給について交渉したかどうか、従業員の性別が含まれています。私がしようとしているのは、従業員の性別と昇給交渉をしたかどうかに基づいて、従業員が受け取った昇給額のヒストグラムを作成することです。このコードを実行すると、次のエラーが発生します:無効な数の 'break'。どなたか、私がどこで間違えたのか、教えていただけないでしょうか。

以下は、テキストファイルの例です。

emp   received   negotiated   gender   year
25    12.5         TRUE         F      2013
318   5.2          FALSE        F      2013
417   9.8          FALSE        M      2009
523   6.8          TRUE         M      2009
1218  2.1          TRUE         F      2009
2601  13.9         FALSE        M      2006
2225  7.8          TRUE         M      2006
3000  8.5          FALSE        F      2006

以下は、私がやろうとしていることの最小限のコードです。

d<-read.csv("employees.txt", header=TRUE, sep="\t")
cat("\nDisplay what was loaded:")
str(d)


abline(m)
abline(mean(d$received), 0, lty=2)

hist(d$received[d$negotiated == TRUE && d$gender == '1'], main = 'Male Employees Who Negotiated Raises' )

dev.new()
hist(d$received[d$negotiated == TRUE && d$gender == '2'], main = 'Female Employees Who Negotiated Raises' )

解決方法は?

構文に問題があるようです。

なお、性別を変換して factor 変数の値は "M" と "F" の代わりに "1" と "2" となります。コードを一行ずつ実行すれば、最後のヒストグラムのセットまで動作するはずです。

これらの行を次のように変更します。

hist(d$received[d$negotiated == TRUE & d$gender == 2], 
     main = 'Male Employees Who Negotiated Raises' )

hist(d$received[d$negotiated == TRUE & d$gender == 1], 
     main = 'Female Employees Who Negotiated Raises' )

また、私が &&& . 実行 d$negotiated == TRUE & d$gender == 2d$negotiated == TRUE && d$gender == 2 をクリックして、両者の違いを確認してください。