0

私がやろうとしているのは、Rで 2 つのヒストグラムを作成することです。これは、SeaWorld の従業員が昇給を交渉した場合と、昇給を交渉しなかった場合に基づいています。誰かが私が間違っていた場所を教えてください。どんな助けでも大歓迎です。

これが私が使用しているテキストファイルの例です。

emp   received   negotiated   gender   year
#325  12.5         TRUE         F      2013
#318  5.2          FALSE        F      2013
#217  9.8          FALSE        M      2013
#223  6.8          TRUE         M      2013
#218  2.1          TRUE         F      2006
#601  13.9         FALSE        M      2006
#225  7.8          TRUE         M      2006
#281  8.5          FALSE        F      2006

これまでのコードは次のとおりです。

d<-read.csv("employees.txt", header=TRUE, sep="\t")
str(d)

f1 <- mean(d$received)
f2 <- median(d$received)
f3 <- sd(d$recieved)



d$gender <- factor(d$gender, labels=c(1, 2))
pairs(d)

plot(d$received ~ d$gender)
plot(d$received ~ d$year, xlab="year", ylab="recieved")
m <- lm(d$received~d$year)
print(m)
print(f1)
print(f2)
print(f3)
abline(m)
abline(mean(d$received), 0, lty=2)


hist(d$received[d$gender ==1],breaks = 50)
dev.new()
hist(d$received[d$gender ==2],breaks = 50)
dev.new()
#hist(d$year, breaks = 50)
#dev.new()
plot(d$gender, d$received)
4

1 に答える 1

2

データ内の#シンボルが問題を引き起こしています...

#シンボルで...

d1 <- read.table(text = "
emp   received   negotiated   gender   year
#325  12.5         TRUE         F      2013
#318  5.2          FALSE        F      2013
#217  9.8          FALSE        M      2013
#223  6.8          TRUE         M      2013
#218  2.1          TRUE         F      2006
#601  13.9         FALSE        M      2006
#225  7.8          TRUE         M      2006
#281  8.5          FALSE        F      2006", 
    header = TRUE)

空のデータ フレームを取得します...

str(d1)
'data.frame':   0 obs. of  5 variables:
 $ emp       : logi 
 $ received  : logi 
 $ negotiated: logi 
 $ gender    : logi 
 $ year      : logi 

しかし、#それがなければ...

d2 <- read.table(text = "
emp   received   negotiated   gender   year
325  12.5         TRUE         F      2013
318  5.2          FALSE        F      2013
217  9.8          FALSE        M      2013
223  6.8          TRUE         M      2013
218  2.1          TRUE         F      2006
601  13.9         FALSE        M      2006
225  7.8          TRUE         M      2006
281  8.5          FALSE        F      2006", 
    header = TRUE)

...期待どおりのデータ:

str(d2)
'data.frame':   8 obs. of  5 variables:
 $ emp       : int  325 318 217 223 218 601 225 281
 $ received  : num  12.5 5.2 9.8 6.8 2.1 13.9 7.8 8.5
 $ negotiated: logi  TRUE FALSE FALSE TRUE TRUE FALSE ...
 $ gender    : Factor w/ 2 levels "F","M": 1 1 2 2 1 2 2 1
 $ year      : int  2013 2013 2013 2013 2006 2006 2006 2006

また、従業員が昇給を要求したかどうかに基づいて、従業員が受け取った昇給額のヒストグラムを作成する方法についての質問については、次のとおりです。

hist(d$received[d$negotiated == TRUE])
hist(d$received[d$negotiated == FALSE])
于 2013-11-10T06:42:38.823 に答える