在R中绘制分类变量(x)与连续变量(y)

在R中绘制分类变量(x)与连续变量(y),r,graph,categorical-data,R,Graph,Categorical Data,有谁能帮我画出数据所需的R代码吗?我已经试了几个小时,在网上搜索,我真的很挣扎 这是我在R Studio中将数据放入表格/矩阵的一个示例: Percentage Correct 4 71.88 20 65.80 40 63.92 60 63.47 4、20、40和60是分类变量,它们代表不同程度的分类干扰 Percentage Correct是参与者针对每个干扰级别获得正确图像的百分比 例如,63.47意味着当干扰类别为60时,所有参与者的平均正确回答百分

有谁能帮我画出数据所需的R代码吗?我已经试了几个小时,在网上搜索,我真的很挣扎

这是我在R Studio中将数据放入表格/矩阵的一个示例:

      Percentage Correct
4     71.88
20    65.80
40    63.92
60    63.47
4
20
40
60
是分类变量,它们代表不同程度的分类干扰

Percentage Correct
是参与者针对每个干扰级别获得正确图像的百分比

例如,
63.47
意味着当干扰类别为60时,所有参与者的平均正确回答百分比为63.47%

下面我附上了几张我正试图实现的图表。我不一定希望我的风格那么复杂,但就像基本风格一样

我正在努力在没有任何错误的情况下,在任何时刻都能真实地描绘出任何东西

任何帮助都将不胜感激,非常感谢


以下是使用
ggplot2
的可能起点:

# Your sample data
df <- read.table(text =
    "x y
4     71.88
20    65.80
40    63.92
60    63.47", header = T);

library(ggplot2);
ggplot(df, aes(as.factor(x), y)) + 
    geom_point() + 
    labs(y = "Percentage correct", x = "Categorical variable");

看起来您有一个只有一列的数据框,并且您在行名称中定义了分类变量?如果是这样,您应该做的第一件事就是将这些行名称转换为class
factor
列(用于分类数据)。类似于
your_data$category=factor(row.names(your_数据),levels=row.names(your_数据))
levels=
是将它们保持在显示顺序而不是字母顺序所必需的。如果您能共享输入的一个可复制/可复制版本,那就太好了,
dput(您的_数据)
非常适合于复制/粘贴,并包括所有的类和结构信息。@Gregor hi,是的,关于我当前的数据帧,这是正确的。我试着做
subset\u correct\u new$interfere=factor(row.names(subset\u correct\u new),levels=row.names(subset\u correct\u new))
但这将我的数据集中的
interfere
列从
4
20
40
60
更改为1到500个奇数?我无法在我收集的样本数据上复制该列。请您与
dput()
分享您的数据,以消除任何混淆吗?@Gregor我尝试使用
dput()
,但我对其进行了这一特殊分析,并生成了要放入我原始帖子表中的数字,这是一个庞大的子集。我无法将整个输出粘贴到此评论框中。@neilfws谢谢,建议不错!我添加了一个条形图示例。非常感谢!非常有用。我目前正试图使用上面注释中提供给我的代码,将x变量转换为一个因子。但我真的很挣扎,我是一个新手,当谈到R@将
字符
/
数字
向量转换为
因子
应该像
转换为.factor(…)
一样简单。例如,
x@MauritsEvers啊好的,非常感谢。我想我已经做到了你的意思。这是正确的吗
x@EdinPC看看我的例子
ggplot
需要一个
data.frame
(在我的示例中是
df
),从中选择“x”(
as.factor(x)
)和“y”(
y
)列。
library(ggplot2);
ggplot(df, aes(as.factor(x), y)) +
    geom_bar(stat = "identity") + 
    labs(y = "Percentage correct", x = "Categorical variable");