cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
  • New to JMP? Join us Sept. 23-24 for the Early User Edition of Discovery Summit, tailor-made for new users. Register now for free!
  • Use World Cup data to build models, explore spatial relationships, and create informative visualizations in JMP. Register. July 17, 2 pm US Eastern Time.
  • Your voice matters! Tell us how you prefer to receive JMP updates, so we can tailor our communication to your needs. Take short survey.

Discussions

Solve problems, and share tips and tricks with other JMP users.
Choose Language Hide Translation Bar
JHX
JHX
Level I

How to work with R tibble objects

I really like integrating R code in JSL, but how can I deal with the correct handling of a tibble (dplyr) object. It seems like the object is damaged, when displayed in JMP. The output on my PC is visible in the appended image.

R Init();
R Submit("library(dplyr)");
x = R Execute({},{data_table},"\[ 
    data_table <- tibble(x = c("A", NA, "B", "C"), y = c("D", "E", "F", "G"))
]\"
);
data_table << New Data View();
Show(data_table);
R Term();
3 REPLIES 3
peng_liu
Level VII

Re: How to work with R tibble objects

I think the problem is caused by NA in the first column. JMP does not know how to deal with it. I don't think that JMP differentiates an empty string from a missing value in a Character column. You may consider changing NA to an empty string or some special string, if that works for you.

JHX
JHX
Level I

Re: How to work with R tibble objects

thank you peng_liu, at least it works. I was not aware that the big dot indication missing values in JMP is only for the numbers and character do not have NA values. I still hope for an better NA handling in the JSL/R interface in comming versions.

R Init();
R Submit("
	library(dplyr)
	library(tidyr)
");

x  = R Execute({},{data_table},"\[
	data_table <- tibble(x = c(1, NA, 2, 3), y = c("D", "E", "F", "G"), z = c("A", NA, "B", "C"), a = c("H", "I", "J", "K")) %>%
		mutate(across(where(is.character), ~replace_na(.x, "")))
	data_table
	]\"
);

data_table << New Data View( );
//limits << New Data View();

Show(data_table);
R Term(); //Exit

issue_tibble_2.PNG

peng_liu
Level VII

Re: How to work with R tibble objects

I am not sure what third party interfacing with R can do. If I remember correctly, NA in R is a specially encoded double precision number, so it does not align well with other elements in the same vector in memory in this case. Please contact [email protected] in case there is a better solution.

Recommended Articles