Retrieving values from an rhandsontable object (R, R shiny)
The question is 4 years old, but still relevant for the rhandsontable
package users. Also, the solution provided by Lyx above no longer works. Following is an easy fix to the problem.
Every rhandsontable
object is a deeply nested list. One of its elements is the data
element, which itself is nested under the x
element. However, the data is in json
format, but it can easily be converted to a data.frame
by using the fromJSON()
function in the jsonlite
package.
library(rhandsontable)
library(jsonlite)
hands_on_table <- rhandsontable(mtcars)
data_frame <- fromJSON(hands_on_table$x$data)
head(data_frame)
mpg cyl disp hp drat wt qsec vs am gear carb
1 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
2 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
3 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
4 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
5 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
6 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
Edit:
It is important to also mention that the main difference between using hot_to_r
and jsonlite::fromJSON
is that the former is used while the app is running and the latter only works in an interactive R session.