передать строку из раскрывающегося списка свойств документа в Spotfire в скрипт R - PullRequest
0 голосов
/ 11 сентября 2018

У меня есть скрипт R, работающий в Spotfire для построения контурных карт для геохимических данных, как описано ниже.

Что я хотел бы сделать, это дать пользователю возможность изменить z = SiO2 в функции interp из выпадающего списка заголовков таблицы, чтобы изменить элемент, например, z = Al2O3.Я создал раскрывающийся список заголовков таблицы в текстовой области и создал свойство документа в качестве входных данных для сценария из этого раскрывающегося списка.Что я не могу понять, так это синтаксис того, как передать этот входной параметр в сценарий R.

спасибо за любые идеи

    library(RinR)
    library (reshape2)
    library (akima)
    library (ggrepel)
    library (rgdal)



fld <- with(ECave, interp(x = Longitude, y = Latitude, z = SiO2 ))

df <- melt(fld$z, na.rm = TRUE)
names(df) <- c("x", "y", "element")
df$Lon <- fld$x[df$x]
df$Lat <- fld$y[df$y]

DenMapSq <- RGraph(print
                (

   ggplot(data = df, aes(x = Lon, y = Lat, z = element)) +
         geom_tile(aes(fill = element)) +
     geom_point(aes ( x = Longitude, y = Latitude), data = ECave, inherit.aes = FALSE)+
     geom_text_repel(data = ECave,mapping=aes(x=Longitude, y=Latitude,label=ECave$Well),
                     size=2.5, box.padding = unit(0.5, "lines"), inherit.aes = FALSE)+
     stat_contour() +
     ggtitle("element map") +
     xlab("Longitude") +
     ylab("Latitude") +
     scale_fill_continuous(name = "element (%)",
                           type = 'viridis') +
     theme(plot.title = element_text(size = 25, face = "bold"),
          legend.title = element_text(size = 15),
           axis.text = element_text(size = 15),
           axis.title.x = element_text(size = 20, vjust = -0.5),
           axis.title.y = element_text(size = 20, vjust = 0.2),
           legend.text = element_text(size = 10))


                                ),
                        packages=c('ggrepel','akima','reshape2','ggplot2'),data=c('fld','df','ECave')

            )   

1 Ответ

0 голосов
/ 18 сентября 2018

Если вы правильно добавили свойство документа в качестве входных данных в сценарий, вам просто нужно обратиться к нему в сценарии R. Например, если у меня есть свойство входного документа как input1, я бы написал следующий код в r, чтобы присвоить его переменной, которую я могу использовать в r: inputDocProp <- input1

Для правильной настройки вы определяете входные параметры на этом экране (экран скрипта):

enter image description here

И вы настраиваете связь между параметром и свойством документа на этом экране (экран параметров):

enter image description here

Предполагая, что вы делаете это правильно, вы можете прочитать из поля ввода doc prop, как указано выше. Скрипт R должен запускаться автоматически каждый раз, когда меняется документация.

...