如何在ui.R中获取uioutput中的值并将其发送回server.R?

时间:2015-12-25 03:42:50

标签: r shiny

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:fillViewport="true" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:padding="12dp"> <RelativeLayout android:layout_width="match_parent" android:layout_height="380dp" android:id="@+id/imageRelativeLayout" android:background="@android:color/white"> <TextView android:id="@+id/labelProductName" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="4dp" android:layout_marginTop="4dp" android:ellipsize="end" android:ems="12" android:text="Over Panel Patch with Pivot" android:textSize="16sp"/> <TextView android:id="@+id/labelProductModel" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/labelProductName" android:layout_marginLeft="4dp" android:layout_marginTop="4dp" android:ellipsize="end" android:ems="12" android:text="OSSPF-1" android:textSize="12sp" android:textStyle="bold"/> <ImageView android:id="@+id/imageProduct" android:layout_width="match_parent" android:layout_height="220dp" android:layout_below="@+id/labelProductModel" android:contentDescription="@string/app_name" android:padding="4dp"/> <android.support.v7.widget.RecyclerView android:id="@+id/listImages" android:layout_width="wrap_content" android:layout_height="200dp" android:layout_alignParentBottom="true" android:layout_gravity="center" android:layout_below="@+id/imageProduct" android:paddingLeft="4dp" android:paddingRight="4dp" android:visibility="visible"/> <ImageView android:layout_width="30dp" android:layout_height="30dp" android:layout_alignParentRight="true" android:id="@+id/favImage" android:contentDescription="@string/app_name" android:src="@drawable/ic_heart"/> <ImageView android:layout_width="35dp" android:layout_height="35dp" android:layout_alignParentRight="true" android:id="@+id/shareImage" android:paddingTop="5dp" android:layout_below="@+id/favImage" android:contentDescription="@string/app_name" android:src="@drawable/ic_share"/> </RelativeLayout> </LinearLayout> </ScrollView> 中,我说:

ui.R

uiOutput("singlefactor") 中,我有:

server.R

使用这些,我可以在选择菜单中显示data.frame output$singlefactor <- renderUI({ selectInput("sfactor", "Feature selection:", names(datatable())) }) 的列名。我接下来要做的是:

我们假设datatable()中的列名为abcd。我从datatable()中选择一个,然后将a发送回服务器,以便我可以使用ui.R的子集,该子集仅包含用于下一次计算的a。

所以,我的问题是:我如何发送回datatable()

1 个答案:

答案 0 :(得分:6)

该值将像任何其他输入一样可用,例如

library(shiny)

runApp(list(ui=shinyUI(fluidPage(
  sidebarLayout(
    sidebarPanel(
      uiOutput("singlefactor")
    ),
    mainPanel(
      plotOutput("distPlot")

    )
  )
))
,
server=shinyServer(function(input, output) {
     output$singlefactor <- renderUI({
    selectInput("sfactor", "Feature selection:", names(mtcars))
  })
  output$distPlot <- renderPlot({plot(mtcars[,input$sfactor])})

})
))

您创建了一个名为“sfactor”的UI元素,因此您可以使用input$sfactor

获取值