簡體   English   中英

如何在 R 中制作兩列的散點圖

[英]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")

此外,還有帶有參數addpoints()函數。 設置為 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM