【问题标题】:R plot does not display scatter plotR plot不显示散点图
【发布时间】:2014-03-14 06:57:24
【问题描述】:

数据是“美国总统和总统候选人的身高”,你可以找到它here。我使用命令将数据加载到 R 中:

height = read.csv('heights.csv')

变量是列标题。有 2 个高度数据,因此 R 会自动将其更改为 'height' 和 'height.1'。

现在,我想显示一个比较“height”和“height.1”的散点图。当我输入命令时:

plot(height$Height, height$Height.1)

我明白了:

这里有什么问题?

【问题讨论】:

  • 如果你想看截图,插入链接,任何有足够声誉的人都会编辑问题。
  • 没有足够的信息来帮助您。你已经给出了高度的 wiki 页面,但没有解释你是如何将它读入 R 的(因素?数字?...试试head(height))。什么是 Height.1?此外,您的问题标题说 R 确实 not 显示散点图,但您的问题说 qplot 为您提供了“漂亮的散点图”。所以..怎么了?你在 qplot 中使用什么命令?你想要散点图吗?你不想要散点图吗?你有什么问题?
  • 抱歉。我会编辑它。
  • 向我们展示您的数据。您在某处有因素/字符。你试过plot(height$Height ~ height$Height.1)吗?
  • 数据和*上的完全一样,见上面的链接。

标签: r


【解决方案1】:

诸如"185 cm" 之类的条目不会作为数值进行解释。

尝试从列中剥离 cm 并将它们强制为数字。

h.numeric <- height
h.numeric$Height <- as.numeric(as.character(gsub(" cm", "", h.numeric$Height)))
h.numeric$Height.1 <- as.numeric(as.character(gsub(" cm", "", h.numeric$Height.1)))

plot(Height, Height.1, data=h.numeric, xlab = "Height (cm)", ylab = "Height.1 (cm)")

【讨论】:

  • 但是为什么我可以用 qplot(来自 ggplot2)而不是 plot?
  • 因为它们是不同的功能。
  • 'cm' 确实是问题的原因。谢谢休!