[英]How do I make a scatterplot of two columns in R when
我正在嘗試制作兩列(V13 和 V21)的散點圖。 我想要 x 軸上的行號和 y 軸上的每一列 - 在同一個圖中。 所以每一列都有自己的一組 y 值。 我希望行號在 x 軸上。 然而,當我去繪制這個時,我得到了這個:
xy.coords(x, y, xlabel, ylabel, log) 中的錯誤:“x”和“y”長度不同
我正在使用的數據框稱為“Vs.highvar”。 數據有 1000 個 obs 的 2 個變量,我希望 x 軸是行數(1000),所以我想這就是問題所在。 我該怎么做呢? 我是否必須將數據拆分為兩個單獨的列/兩個單獨的數據框? 我對 R 很ggplot2.scatterplot()
。我試過split()
、 separate()
、 plot()
、 ggplot2.scatterplot()
、 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")
我不確定您希望情節如何。 盡管如此,您始終需要相似數量的 x 和 y 值。 nrow(Vs.highvar)
是單個數字。
如果 x 軸應該是一個運行數字(一個計數器),那么你需要一個可以用1:nrow(Vs.highvar)
得到的序列:嘗試plot(1:nrow(Vs.highvar), Vs.highvar$V13, main="Variances")
。
(否則,如果您想對多個 y 值使用相同的值,您需要復制總行數( nrow(Vs.highvar) )。您可以使用rep()
函數執行此操作。嘗試: plot(rep(nrow(Vs.highvar), nrow(Vs.highvar)), Vs.highvar$V13, main="Variances")
。
此外,還有帶有參數add
的points()
函數。 設置為 TRUE 時,您可以將第二個數據系列(= 表的列)添加到現有繪圖中。
plot(1:nrow(Vs.highvar), Vs.highvar$V13, main="Variances")
points(1:nrow(Vs.highvar), Vs.highvar$V21, add=T)
編輯:我重組了上面的文字。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.