簡體   English   中英

從R GUI的.csv創建線性回歸圖

[英]Create Linear Regression Plot from .csv from R GUI

我是R編程的初學者。 我已經編寫了一個基本的R腳本,該腳本允許用戶選擇具有2列(X和Y)的.csv文件,將它們繪制在圖形上以顯示線性回歸並打印XY關系的相關rsquared值。

有人可以解釋將代碼添加到gWidgets的基礎知識,這樣我就可以擁有帶有兩個按鈕的GUI了嗎? -button1將是一個file.choose()來選擇.csv文件(我已經在其他地方看到過此代碼),button2將運行線性回歸並將繪圖輸出到顯示窗口。

我已經遍歷了所有gWidgets教程和代碼段,但是對我來說,如何執行如上所述的簡單功能仍然不清楚。 我想我認為可以將現有的R代碼剪切並粘貼到gWidgets按鈕中,但是我現在發現情況並非如此。

任何幫助將不勝感激。
親切的問候

#CALCULATES LINEAR REGRESSION SCATTER PLOT FOR TWO COLUMNS - X and Y
# ALSO PRINTS r2 VALUE ON PLOT

#READ IN THE .CSV FILE - FILE SHOULD CONTAIN TWO COLUMNS WITH NO HEADER - X and Y
#CREATE DATAFRAME
test1 <- read.csv("C:/Data/test.csv", header=FALSE)

#ASSIGN THE DATA IN EACH COLUMN TO A VARIABLE NAME
X1 <- test1$V1
Y1 <- test1$V2

#PLOT DATA WITH APPROPRIATE LABELS
plot(X1, Y1, xlab="X", ylab="Y")

#CALCULATE THE BEST FIT LINE AND PRINT R2 VALUE ON PLOT
abline(fit <- lm(X1 ~ Y1, data=test1), col='red')
legend("topright", bty="n", legend=paste("r2 is", format(summary(fit)$adj.r.squared, digits=4)))

我想您正在尋找簡單的東西,例如:

library(gWidgets)
options(guiToolkit="tcltk") ## or RGtk2 ...

w <- gwindow("Your GUI", visible=FALSE)
g <- ggroup(cont=w, horizontal=FALSE)

upload <- gfilebrowse("Select a csv file", cont=g)
btn <- gbutton("Do it", cont=g)
enabled(btn) <- FALSE

filename <- NULL
do_it <- function(...) {
  message("Read csv file in filename")
  message("make graphic")
  message("make summary")
}

addHandlerChanged(upload, handler=function(h, ...) {
  val <- svalue(upload)
  if(!is.na(val)) {
    filename <<- val
    enabled(btn) <- TRUE
  }
})
addHandlerChanged(btn, handler=do_it)

visible(w) <- TRUE

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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