rtutor.ai Open in urlscan Pro
18.235.92.206  Public Scan

URL: http://rtutor.ai/
Submission: On January 09 via manual from GB — Scanned from GB

Form analysis 1 forms found in the DOM

<form class="well" role="complementary">
  <div class="row">
    <div class="col-sm-6">
      <div id="selected_dataset" class="shiny-text-output shiny-bound-output" aria-live="polite"></div>
    </div>
    <div class="col-sm-6">
      <p></p>
      <div align="right"> <a href="javascript:history.go(0)">Reset</a></div>
      <p></p>
    </div>
  </div>
  <div class="row">
    <div class="col-sm-6">
      <div id="demo_data_ui" class="shiny-html-output shiny-bound-output" aria-live="polite"></div>
    </div>
    <div class="col-sm-6">
      <div id="data_upload_ui" class="shiny-html-output shiny-bound-output" aria-live="polite"></div>
    </div>
  </div>
  <div id="prompt_ui" class="shiny-html-output shiny-bound-output" aria-live="polite"></div>
  <style type="text/css">
    textarea {
      width: 100%
    }
  </style>
  <textarea id="input_text" rows="8" class="shiny-bound-input"></textarea>
  <div class="row">
    <div class="col-sm-6">
      <button id="submit_button" type="button" class="btn btn-default action-button shiny-bound-input">
        <strong>Submit</strong>
      </button>
      <span class="tippy html-widget html-fill-item-overflow-hidden html-fill-item html-widget-static-bound" height="500" id="htmlwidget-1e5cd7e4208872c1d9d4" width="960"></span>
      <script type="application/json" data-for="htmlwidget-1e5cd7e4208872c1d9d4">
        {
          "x": {
            "element": "submit_button",
            "opts": {
              "content": "ChatGPT can return different results for the same request.",
              "theme": "light-border"
            }
          },
          "evals": [],
          "jsHooks": []
        }
      </script>
    </div>
    <div class="col-sm-6">
      <button id="api_button" type="button" class="btn btn-default action-button shiny-bound-input">Settings</button>
    </div>
  </div>
  <br>
  <div id="usage" class="shiny-text-output shiny-bound-output" aria-live="polite"></div>
  <div id="total_cost" class="shiny-text-output shiny-bound-output" aria-live="polite"></div>
  <div id="temperature" class="shiny-text-output shiny-bound-output" aria-live="polite"></div>
  <div id="slava_ukraini" class="shiny-html-output shiny-bound-output" aria-live="polite"></div>
  <br>
  <div id="retry_on_error" class="shiny-text-output shiny-bound-output" aria-live="polite"></div>
  <div class="form-group shiny-input-container">
    <div class="checkbox">
      <label>
        <input id="Comments" type="checkbox" data-shinyjs-resettable-id="Comments" data-shinyjs-resettable-type="Checkbox" data-shinyjs-resettable-value="false" class="shinyjs-resettable shiny-bound-input">
        <span>Help improve RTutor</span>
      </label>
    </div>
  </div>
  <style type="text/css">
    textarea {
      width: 100%
    }
  </style>
  <textarea id="user_feedback" placeholder="Any questions? Suggestions? Things you like, don't like? Leave your email if you want to hear back from us." rows="4" class="shiny-bound-input"></textarea>
  <div id="helpfulness" class="form-group shiny-input-radiogroup shiny-input-container shinyjs-resettable shiny-bound-input" role="radiogroup" aria-labelledby="helpfulness-label" data-shinyjs-resettable-id="helpfulness"
    data-shinyjs-resettable-type="RadioButtons" data-shinyjs-resettable-value="Slightly">
    <label class="control-label" id="helpfulness-label" for="helpfulness">How useful is RTutor?</label>
    <div class="shiny-options-group">
      <div class="radio">
        <label>
          <input type="radio" name="helpfulness" value="Not at all">
          <span>Not at all</span>
        </label>
      </div>
      <div class="radio">
        <label>
          <input type="radio" name="helpfulness" value="Slightly" checked="checked">
          <span>Slightly</span>
        </label>
      </div>
      <div class="radio">
        <label>
          <input type="radio" name="helpfulness" value="Helpful">
          <span>Helpful</span>
        </label>
      </div>
      <div class="radio">
        <label>
          <input type="radio" name="helpfulness" value="Extremely">
          <span>Extremely</span>
        </label>
      </div>
    </div>
  </div>
  <div id="experience" class="form-group shiny-input-radiogroup shiny-input-container shinyjs-resettable shiny-bound-input" role="radiogroup" aria-labelledby="experience-label" data-shinyjs-resettable-id="experience"
    data-shinyjs-resettable-type="RadioButtons" data-shinyjs-resettable-value="Beginner">
    <label class="control-label" id="experience-label" for="experience">Your experience with R:</label>
    <div class="shiny-options-group">
      <div class="radio">
        <label>
          <input type="radio" name="experience" value="None">
          <span>None</span>
        </label>
      </div>
      <div class="radio">
        <label>
          <input type="radio" name="experience" value="Beginner" checked="checked">
          <span>Beginner</span>
        </label>
      </div>
      <div class="radio">
        <label>
          <input type="radio" name="experience" value="Intermediate">
          <span>Intermediate</span>
        </label>
      </div>
      <div class="radio">
        <label>
          <input type="radio" name="experience" value="Advanced">
          <span>Advanced</span>
        </label>
      </div>
    </div>
  </div>
  <button id="save_feedbck" type="button" class="btn btn-default action-button shiny-bound-input">Save Feedback</button>
</form>

Text Content

RTutor
 * Home
 * Data
 * Report
 * EDA
 * Ask
 * About


CHAT WITH YOUR DATA VIA AI


STILL BEING TESTED AND IMPROVED. LOADING ... ...



Reset





Submit
Settings







Help improve RTutor
How useful is RTutor?
Not at all
Slightly
Helpful
Extremely
Your experience with R:
None
Beginner
Intermediate
Advanced
Save Feedback

HI I'M YOUR STATISTICS TUTOR. I AM STILL IN COLLEGE LEARNING NEW THINGS. BUT I
TRY TO BE HELPFUL. I DID FINISH MY REQUIRED READING: THOUSANDS OF BOOKS,
MILLIONS OF CODE REPOSITORIES, AND BILLIONS OF WEB PAGES OF ALL KINDS. I'M NOT
BEING HYPERBOLIC. JUST BRAGGING. BTW, I ALSO LEARNED A FEW DOZEN FOREGIN
LANGUAGES.

--------------------------------------------------------------------------------


TIPS:

 * Start small. Gradually add complexity. First, try simple requests such as
   distributions, basic plots, or simple models. Then customize it or add
   variables.
 * Released as a prototype for testing, RTutor was just an idea 25 days ago.
   Keep your expectations low and send us your valuable feedback (lower left).
 * It can take a few tries to get it correct. If it still does not work,
   rephrase your request. Also, increase the "Temperature" setting will make the
   AI more aggressive in seeking alternative solutions.
 * Prepare and clean your data in Excel first! RTutor can only analyze
   traditional statistics data, where rows are observations and columns are
   variables.
 * Once uploaded, your data is automatically loaded into RTutor as a data frame
   called df.
 * Check if the data types are correct: numeric columns vs. categories (factors
   or characters). See below. You can tell RTutor to convert by saying "Convert
   cyl as numeric", or "Convert year as factor". We try to auto-detect
   (Settings). Data types make a big difference in analysis and plots!
 * Before sending your request to OpenAI, we add "Generate R code" before it,
   and append something like "Use the df data frame. Note that hwy is numeric"
   afterward. If you are not using any data (plot a function or simulations),
   choose "No data" from the Data dropdown.
 * Your data is not sent to the AI. To ask generic questions without mentioning
   column names, briefly describe your data, especially the relevant columns,
   just like emailing a statistician who knows nothing about your data.
 * Each chunk of code is run independently using your uploaded data. If you want
   to build upon the current code, select the "Continue from this chunk"
   checkbox. Your current R code will be inserted before your next chunk and get
   executed. This is especially important for data wrangling when you remove
   rows, add columns, or log-transform. You can go back to any previous chunks
   and continue from there.

--------------------------------------------------------------------------------

AI generated code:

Continue from this chunk





RESULTS:








--------------------------------------------------------------------------------







Code chunks to include:

RMarkdown




 * Basic
 * Summary
 * Table1
 * Categorical
 * Numerical
 * Correlation
 * GGpairs

GENERATED BY THE SUMMARYTOOLS PACKAGE USING THE
COMMAND:SUMMARYTOOLS::DFSUMMARY(DF).

GENERATED BY THE CREATETABLEONE() FUNCTION IN THE TABLEONE PACKAGE.

GENERATED BY THE PLOT_BAR() FUNCTION IN THE DATAEXPLORER PACKAGE.



GENERATED BY THE PLOT_QQ() AND PLOT_HISTOGRAM() FUNCTIONS IN THE DATAEXPLORER
PACKAGE.




GENERATED BY THE CORR_PLOT() FUNCTIONS IN THE CORRPLOT PACKAGE.



PLEASE WAIT FOR 30 SECONDS. GENERATED BY THE GGPAIRS() FUNCTIONS IN THE GGALLY
PACKAGE.





Example questions:
Example questions:

Ask RTutor


--------------------------------------------------------------------------------



RTutor uses OpenAI's powerful text-davinci-003 language model to translate
natural language into R code, which is then excuted. You can request your
analysis, just like asking a real person. Upload a data file (CSV,
TSV/tab-delimited text files, and Excel) and just analyze it in plain English.
Your results can be downloaded as an HTML report in minutes!

NO WARRANTY! Some of the scripts run but yield incorrect result. Please use the
auto-generated code as a starting point for further refinement and validation.
The RTutor.ai website and the source code (CC BY-NC 3.0 license) are freely
availble for academic and non-profit organizations only. Commercial use beyond
testing please contact gexijin@gmail.com.

--------------------------------------------------------------------------------

Personal project by Steven Ge. For feedback, please email gexijin@gmail.com.
Source code at GitHub, from where you can also find instruction to install
RTutor as an R package.

--------------------------------------------------------------------------------

UPDATE LOG:

 * v 0.8.6 1/8/2023. Add description of the levels in factors.
 * v 0.8.5 1/6/2023. Demo in many foreign languages.
 * v 0.8.4 1/5/2023. Collect user feedback.
 * v 0.8.3 1/5/2023. Collect some user data for improvement.
 * v 0.8.2 1/4/2023. Auto convert first column as row names.
 * v 0.8.1 1/3/2023. Option to convert some numeric columns with few unique
   levels to factors.
 * v 0.8.0 1/3/2023. Add description of columns (numeric vs. categorical).
 * v 0.7.6 12/31/2022. Add RNA-seq data and example requests.
 * v 0.7.5 12/31/2022. Redesigned UI.
 * v 0.7 12/27/2022. Add EDA tab.
 * v 0.6 12/27/2022. Keeps record of all code chunks for resue and report.
 * v 0.5 12/24/2022. Keep current code and continue.
 * v 0.4 12/23/2022. Interactive plot. Voice input optional.
 * v0.3 12/20/2022. Add voice recognition.
 * V0.2 12/16/2022. Add temperature control. Server reboot reminder.
 * V0.1 12/11/2022. Initial launch

--------------------------------------------------------------------------------

RTUTOR WENT VIRAL!

 * LinkedIn
 * Twitter
 * Twitter(Physacourses)
 * Facebook (Carlo Pecoraro)

--------------------------------------------------------------------------------



--------------------------------------------------------------------------------

FREQUENTLY ASKED QUESTIONS:

1. WHAT IS RTUTOR?

It is an artificial intelligence (AI)-based app that enables users to interact
with your data via natural language. After uploading a dataset, users ask
questions about or request analyses in English. The app generates and runs R
code to answer that question with plots and numeric results.

2. HOW DOES RTUTOR WORK?

The requests are structured and sent to OpenAI’s AI system, which returns R
code. The R code is cleaned up and executed in a Shiny environment, showing
results or error messages. Multiple requests are logged to produce an R Markdown
file, which can be knitted into an HTML report. This enables record keeping and
reproducibility.

3. CAN PEOPLE WITHOUT R CODING EXPERIENCE USE RTUTOR FOR STATISTICAL ANALYSIS?

Not entirely. This is because the generated code can be wrong. However, it could
be used to quickly conduct data visualization, and exploratory data analysis
(EDA). Just be mindful of this experimental technology.

4. WHO IS IT FOR?

The primary goal is to help people with some R experience to learn R or be more
productive. RTutor can be used to quickly speed up the coding process using R.
It gives you a draft code to test and refine. Be wary of bugs and errors.

5. HOW DO YOU MAKE SURE THE RESULTS ARE CORRECT?

Try to word your question differently. And try the same request several time. A
higher temperature parameter will give diverse choices. Then users can
double-check to see if you get the same results from different runs.

6. CAN YOU USE RTUTOR TO DO R CODING HOMEWORK?

No. That will defy the purpose. You need to learn R coding properly to be able
to tell if the generated R coding is correct.

7. CAN PRIVATE COMPANIES USE RTUTOR?

No. It can be tried as a demo. RTutor website dnd source code are freely
available for non-profit organizations only and distributed using the CC NC 3.0
license.

8. CAN YOU RUN RTUTOR LOCALLY?

Yes. Download the R package and install it locally. Then you need to obtain an
API key from OpenAI.

9. WHY DO I GET DIFFERENT RESULTS WITH THE SAME REQUEST?

OpenAI’s language model has a certain degree of randomness that could be
adjusted by parameters called "temperature". Set this in Settings

10. HOW MUCH DOES THE OPENAI’S COST PER SESSION?

About $0.01 to $0.1, if you send 10 to 50 requests. We have a monthly usage
limit. Once that is exceeded, the website will not work for the month. If you
use it regularly, please use your API key. Currently, RTutor receives no
funding. We might ask users to contribute later.

11. CAN THIS REPLACE STATISTICIANS OR DATA SCIENTISTS?

No. But RTutor can make them more efficient.

12. HOW DO I WRITE MY REQUEST EFFECTIVELY?

Imagine you have a summer intern, a collge student who took one semester of
statistics and R. You send the intern emails with instructions and he/she sends
back code and results. The intern is not experienced, thus error-prone, but is
hard working. Thanks to AI, this intern is lightning fast and nearly free.

13. CAN I INSTALL R PACKAGE IN THE AI GENERATED CODE?

No. But we are working to pre-install all the R packages on the server! Right
now we finished the top 5000 most frequently used R packages. Chances are that
your favorite package is already installed.

14. CAN I UPLOAD BIG FILES TO THE SITE?

Not if it is more than 10MB. Try to get a small portion of your data. Upload it
to the site to get the code, which can be run locally on your laptop.
Alternatively, download RTutor R package, and use it from your own computer.

15. THE SERVER IS BUSY. OR THE WEBSITE IS STUCK!

Start a new browser window, not another tab. You will be assigned to a new
worker process. You can also try our mirror site https://bcloud.org.

16. VOICE INPUT DOES NOT WORK!

One of the main reason is that your browser block the website site from
accessing the microphone. Make sure you access the site using https://RTutor.ai.
With http, mic access is automatically blocked in Chrome. Speak closer to the
mic. Make sure there is only one browser tab using the mic.

--------------------------------------------------------------------------------