Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 使用ggplot2的有序因子密度直方图_R_Ggplot2 - Fatal编程技术网

R 使用ggplot2的有序因子密度直方图

R 使用ggplot2的有序因子密度直方图,r,ggplot2,R,Ggplot2,我有一个简单的数据集,如下所示: school score grade subject Your school 83.27 1 English All schools 113.60 6 English 年级是9个级别的顺序因子,学校是2个级别的因子 'data.frame': 12762 obs. of 4 variables: $ school : Factor w/ 2 levels "Your school"

我有一个简单的数据集,如下所示:

school       score     grade subject
Your school  83.27     1     English
All schools 113.60     6     English
年级是9个级别的顺序因子,学校是2个级别的因子

'data.frame':   12762 obs. of  4 variables:
 $ school : Factor w/ 2 levels "Your school",..: 1 2 2 2 2 2 2 2 2 2 ...
 $ score  : num  83.3 113.6 109.2 117.4 100.3 ...
 $ grade  : Ord.factor w/ 9 levels "1"<"2"<"3"<"4"<..: 1 6 6 7 4 3 6 1 6 6 ...
 $ subject: chr  "English" "English" "English" "English" ...
'data.frame':12762 obs。共有4个变量:
$school:Factor w/2级“你的学校”。。。
$score:num 83.3 113.6 109.2 117.4 100.3。。。

$grade:Ord.factor w/9级“1”R无法计算因子的密度,即使是有序因子。您最好将
等级
转换为数字(例如使用
as.numeric(as.character(x))


xyR无法计算因子的密度,即使是有序因子。您最好将
等级
转换为数字(例如使用
as.numeric(as.character(x))


xy能否提供一个
str(ss)
?“数据帧”:12762 obs。共有4个变量:$school:Factor w/2 levels“Your school”,$1:2分数:数字83.3 113.6 109.2 117.4 100.3…$等级:OR.W/W 9级“1”Helka它已经是。考虑将你的因素转换为数字。这将是正确的,因为它是有序因子。您能否提供一个
str(ss)
?“data.frame”:12762 obs。共有4个变量:$school:Factor w/2 levels“Your school”,$1:2分数:数字83.3 113.6 109.2 117.4 100.3…$等级:OR.W/W 9级“1”Helka它已经是。考虑将你的因素转换为数字。这将是正确的,因为它是有序因子。
p <- ggplot(ss, aes(x=grade))
p <- p + geom_histogram() 
p <- p + facet_wrap(~school)
p <- ggplot(ss, aes(x=grade))
p <- p + geom_histogram(aes(y=..density..)) 
p <- p + facet_wrap(~school)
xy <- data.frame(school = sample(c("your", "all"), size = 100, replace = TRUE),
                   grade = sample(1:10, size = 100, replace = TRUE))
xy$grade.factor <- factor(xy$grade, ordered = TRUE)

library(ggplot2)

# doesn't work for factors
ggplot(xy, aes(x = grade.factor)) +
  theme_bw() +
  geom_histogram(aes(y = ..density..)) +
  facet_wrap(~ school)

# works for integers/numeric
ggplot(xy, aes(x = grade)) +
  theme_bw() +
  geom_histogram(aes(y = ..density..)) +
  facet_wrap(~ school)