r - 相对于R中的数字向量绘制字符向量

标签 r vector plot character dataframe

我在R中有以下数据框:

>AcceptData
  Mean.Rank Sentence.Type
1       2.5       An+Sp+a
2       2.6      An+Nsp+a
3       2.1       An+Sp-a
4       3.1      An+Nsp-a
5       2.4       In+Sp+a
6       1.7      In+Nsp+a
7       3.1       In+Sp-a
8       3.0      In+Nsp-a

我想用x轴上的Sentence.Type列以每个单元格的实际名称作为x轴上的点进行绘制。我希望y轴以0.5的步长从1变到4

到目前为止,我还无法使用plot()和hist()进行绘制。我不断收到不同类型的错误,主要是由于data.frame中字符列的性质。

我知道这对大多数人来说应该很容易,但是我仍然有点R,而且下类后我无法弄清楚剧情。任何帮助深表感谢。

编辑:

我遇到的一些错误:
> hist(AcceptData$Sentence.Type,AcceptData$Mean.Rank)
Error in hist.default(AcceptData$Sentence.Type, AcceptData$Mean.Rank) : 
  'x' must be numeric

或:(这不会产生错误,但绝对不是我想要的图形。它的所有x值都局限在x轴的左侧)
  plot(AcceptData$Sentence.Type,AcceptData$Mean.Rank,lty=5,lwd=2,xlim=c(1,16),ylim=c(1,4),xla b="Sentence Type",ylab="Mean Ranking",main="Mean Acceptability Ranking per Sentence")

最佳答案

默认的plot函数具有一种允许您在x轴上绘制因子的方法,但是要使用此方法,您必须将文本数据转换为factor:

这是一个例子:

x <- letters[1:5]
y <- runif(5, 0, 5)

plot(factor(x), y)

以及您的样本数据:
AcceptData <- read.table(text="
Mean.Rank Sentence.Type
1       2.5       An+Sp+a
2       2.6      An+Nsp+a
3       2.1       An+Sp-a
4       3.1      An+Nsp-a
5       2.4       In+Sp+a
6       1.7      In+Nsp+a
7       3.1       In+Sp-a
8       3.0      In+Nsp-a", stringsAsFactors=FALSE)

plot(Mean.Rank~factor(Sentence.Type), AcceptData, las=2, 
     xlab="", main="Mean Acceptability Ranking per Sentence")

关于r - 相对于R中的数字向量绘制字符向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13009203/

相关文章:

jquery - 重命名 Shiny 仪表板数据表中的列

c++ - 为什么我可以访问我刚刚从 C++ 中的 STL vector 中删除的元素?

matlab - 如何手动设置颜色条中的范围?

r - 如何捕获整数(0)?

r - 在 R 中的 data.table 中选择 NA

r - 如何控制在ggplot2中首先绘制哪个因素?

C++ vector - push_back

java - 如何将法线转换为度数?

python - 消除 matplotlib 图中子图之间的空白

r - 以 R 为基数的日期的长轴和短轴刻度