【发布时间】:2021-01-21 22:12:06
【问题描述】:
我正在使用 R 编程语言。我正在尝试使用一些假数据制作“平行坐标图”:
library(MASS)
a = rnorm(100, 10, 10)
b = rnorm(100, 10, 5)
c = rnorm(100, 5, 10)
d = matrix(a, b, c)
parcoord(d[, c(3, 1, 2)], col = 1 + (0:149) %/% 50)
但是,当我尝试将数值变量和因子变量混合在一起时会出现问题:
group <- sample( LETTERS[1:4], 100, replace=TRUE, prob=c(0.25, 0.25, 0.25, 0.25) )
d = matrix(a,b, group)
parcoord(d[, c(3, 1, 2)], col = 1 + (0:149) %/% 50)
Error in x - min(x, na.rm = TRUE): non-numeric argument to binary operator
我只是好奇。这个问题能解决吗?还是根本不可能同时使用数字和因子变量来制作这样的图?
我在这里看到了以前的 stackoverflow 帖子,其中使用数字和因子变量制作了类似的图:How to plot parallel coordinates with multiple categorical variables in R
但是,我使用的是没有 USB 端口或互联网接入的计算机 - 我有一个带有有限库的 R 的预安装版本(我有 plotly、ggplot2、dplyr、MASS ......我没有 ggally 或tidyverse) 并且正在寻找一种仅使用 parcoord() 函数来执行此操作的方法。
如果可以做到这一点,有人有什么想法吗? 谢谢
谢谢
【问题讨论】:
-
这段代码有几个部分会抛出错误。您列出的错误来自尝试对没有数值的事物进行“数学运算”,例如
"a character string" - "a character string"。此示例中的子集仍然是错误的,这是您上一个问题中的问题。我建议你花一些时间学习 R 的基础知识。 -
我不想让你气馁 - 在这里非常欢迎你。只是这个问题没有真正的意义,很明显你不了解R的一些基本语法。也许你可以看看这些资源:education.rstudio.com/learn/beginner
标签: r plot data-visualization data-manipulation