0

我正在尝试做的是在R中创建两个直方图,基于 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 回答