API的的調(diào)用目前來說不限制地區(qū),但是OpenAI的API的申請限制了地區(qū)撒璧。運(yùn)行的時(shí)候,如果出現(xiàn)了429笨使,意味著你被限流了卿樱,需要等一會(huì)才行。
前提是硫椰,你需要注冊一個(gè)OpenAI的賬戶繁调,然后在https://openai.com/api/ 里申請OpenAI的密鑰。
在頁面左上角靶草,點(diǎn)擊頭像蹄胰,選擇View API Keys
然后新建一個(gè)密鑰,并復(fù)制奕翔。
接著裕寨,我們需要在R語言中設(shè)置一個(gè)環(huán)境變量OPENAI_API_KEY。
這有兩種方式,一種是每次啟動(dòng)RStudio后手動(dòng)運(yùn)行如下代碼
Sys.setenv(OPENAI_API_KEY = "你復(fù)制的密鑰")
另一種是利用usethis包宾袜,通過如下代碼在項(xiàng)目目錄下創(chuàng)建一個(gè).Renviron文件
library(usethis)
usethis::edit_r_environ(scope = "project")
在該文件中設(shè)置OPENAI_API_KEY捻艳,并保存該文件。
之后從github上安裝gptstudio
#install.packages("devtools")
devtools::install_github("MichelNivard/gptstudio")
安裝完畢后试和,你的RStudio中的Addins就會(huì)出現(xiàn)GPTSTUDIO工具欄
如我們所見讯泣,它的功能主要有7項(xiàng)。
我們可以讓它幫我們寫代碼阅悍,例如你寫了一段注釋好渠,
# write a R code for volcano plot with result from
# DESeq2
然后選擇插件的Write/Code from prompt,過了一會(huì)就能生成如下的代碼
# install and load the DESeq2 package
install.packages("DESeq2")
library(DESeq2)
# read the data
data <- read.csv("data.csv")
# create a DESeqDataSet
dds <- DESeqDataSetFromMatrix(countData = data,
colData = data$condition,
design = ~ condition)
# run the DESeq2
dds <- DESeq(dds)
# extract the results
res <- results(dds)
# create the volcano plot
plot(res$log2FoldChange, -log10(res$padj),
xlab = "log2 Fold Change",
ylab = "-log10 Adjusted p-value",
main = "Volcano Plot")
# add points
points(res$log2FoldChange, -log10(res$padj),
pch = 20,
col = ifelse(res$padj < 0.05, "red", "black"))
# add lines
abline(h = -log10(0.05), lty = 2, col = "blue")
abline(v = 0, lty = 2, col = "blue")
此外节视,可以讓它幫我們給代碼寫注釋拳锚,比如說你在Rstudio中輸入如下內(nèi)容,
set.seed(1)
mtcars2 <- transform(mtcars, mpg = ifelse(runif(32) < 0.2, NA, mpg))
ggplot(mtcars2, aes(wt, mpg)) +
geom_point()
選擇代碼后寻行,在Addins中選擇了 Comment your code霍掺,我們就會(huì)得到如下的內(nèi)容。
# load the ggplot2 package
library(ggplot2)
# set the seed for the random number generator
set.seed(1)
# create a new variable called mtcars2, which is a copy of the mtcars dataset
# with 20% of the mpg values replaced with NA
mtcars2 <- transform(mtcars, mpg = ifelse(runif(32) < 0.2, NA, mpg))
# create a scatterplot of mpg vs wt, with mpg on the y-axis and wt on the x-axis
ggplot(mtcars2, aes(wt, mpg)) +
geom_point()
其他功能可以通過官方文檔進(jìn)行了解哦https://github.com/MichelNivard/gptstudio