【发布时间】:2021-02-15 14:54:39
【问题描述】:
我正在尝试制作两列(V13 和 V21)的散点图。我想要 x 轴上的行号和 y 轴上的每一列 - 在同一个图中。所以每一列都有自己的一组 y 值。我希望行号位于 x 轴上。然而,当我去绘制这个时,我得到了这个:
xy.coords(x, y, xlabel, ylabel, log) 中的错误:“x”和“y” 长度不同
我正在使用的数据框称为“Vs.highvar”。数据有 1000 个 obs 的 2 个变量,我希望 x 轴是行数(1000),所以我想这就是问题所在。我该怎么做呢?我是否必须将数据拆分为两个单独的列/两个单独的数据框?我对 R 很陌生。我试过 split()、separate()、plot()、ggplot2.scatterplot()、scatterplot()。
到目前为止的代码:
Vs <- read.csv(file="x.csv",
header=TRUE,
fill=TRUE)
#find variables with largest variance
head(Vs)
variances <- apply(X=Vs, MARGIN=2, FUN=var)
sortedvars <- sort(variances,
decreasing=TRUE,
index.return=TRUE)$ix[1:2]
Vs.highvar <- Vs[, sortedvars]
Vs.highvar #returns variables V13 and V21
#create scatterplot
plot(nrow(Vs.highvar), Vs.highvar$V13,
main="Variances")
【问题讨论】:
-
我认为问题在于您的“nrow(Vs.highvar)”会产生一个数字,而“Vs.highvar$V13”会产生 1000 个不同的数字。这是您可能想要的示例:
df1<-data.frame(y = rnorm(1000)) plot(x = 1:length(df1$y),df1$y)
标签: r plot scatter-plot