사용자가 Shiny 앱의 데이터 세트에 새 변수를 추가하도록 허용

케티

안녕하세요 Shiny 사용자 여러분,

사용자가 마스터 데이터 프레임에 새 변수를 추가 할 수 있기를 바랍니다. 사용자는 textInput을 사용하여 정의를 입력합니다. 그런 다음 server.R을 사용하여 데이터 프레임에 추가합니다. 여기 내 코드가 있습니다. 나는 그것을 작동시킬 수 없습니다. 어떤 도움이라도 대단히 감사하겠습니다. 감사합니다!

원시 데이터 :

colA <- c('1','2','3','3','2')
colB <- c('1','1','3','3','2')
colC <- c('14','12','33','33','26')
colD <- c('Value','Mainstream','Value','Premium','Premium')
colE <- c(1,2,3,4,5)
rawdata <- as.data.frame(cbind(colA,colB, colC, colD, colE))
View(rawdata)

ui.R :

fluidPage(
            sidebarLayout(
                sidebarPanel(
                    textInput("addVar", "New attribute definition"),
                    helpText("Note: Type the attribute definition using R code."),
                    helpText("For example:"), 
                    helpText("data$Value <- ifelse (data$price_tiers_new == 'Value', 1, 0)"),

                    br(),
                    actionButton("addButton", strong("Add!")),
                    width = 3
                ),

                mainPanel(
                    verticalLayout(
                        br()
                        #Will display histogram of the newly added variables       
                    )
                )
           )
)

서버 .R :

function(input, output, session) {

    curr <- reactiveValues()
    curr$df <- rawdata

    observeEvent(input$addButton, {

        eval(parse(text=input$filter))

    })
}

예를 들어, 다음 두 가지 새로운 변수 정의를 시도해보십시오. 첫 번째 정의를 추가하면 rawdata에 하나의 추가 열 (Value)이 있습니다. 두 번째 정의를 추가하면 rawdata에 두 개의 추가 열 (Value 및 Premium)이 있습니다.

curr$df$Value <- ifelse(curr$df$colD == 'Value', 1, 0)
curr$df$Premium <- ifelse(curr$df$colD == 'Premium', 1, 0)
Tonio Liebrand

사용 eval(parse(text=input$addVar))이 작동합니다.

textInput()(비 전통적이지만 흥미로운) 사용을 textInput()더 명확 하게 만들기 위해에 대한 기본 텍스트를 추가 할 수도 있습니다 .

textInput("addVar", "New attribute definition", 
          "curr$df$Value <- ifelse(curr$df$colD == 'Value', 1, 0)")

전체 앱 (결과 확인을위한 textOutput 포함)은 다음과 같습니다.

colA <- c('1','2','3','3','2')
colB <- c('1','1','3','3','2')
colC <- c('14','12','33','33','26')
colD <- c('Value','Mainstream','Value','Premium','Premium')
colE <- c(1,2,3,4,5)
rawdata <- as.data.frame(cbind(colA, colB, colC, colD, colE))

ui <- fluidPage(
  sidebarLayout(
    sidebarPanel(
      textInput("addVar", "New attribute definition", "curr$df$Value <- ifelse(curr$df$colD == 'Value', 1, 0)"),
      helpText("Note: Type the attribute definition using R code."),
      helpText("For example:"), 
      helpText("data$Value <- ifelse (data$price_tiers_new == 'Value', 1, 0)"),
      br(),
      actionButton("addButton", strong("Add!")),
      width = 3
    ),

    mainPanel(
      verticalLayout(
        br(),
        verbatimTextOutput("txt")
        #Will display histogram of the newly added variables       
      )
    )
  )
)

server <- function(input, output, session) {
  output$txt <- renderPrint(curr$df)
  curr <- reactiveValues()
  curr$df <- rawdata

  observeEvent(input$addButton, {
    eval(parse(text=input$addVar))
  })
}

shinyApp(ui, server)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

사용자가 태그 사이에 새 태그를 추가하도록 허용

분류에서Dev

Shiny Inputs를 사용하여 데이터 세트에 새 변수 만들기

분류에서Dev

사용자가 목록에 데이터를 추가하도록 허용

분류에서Dev

사용자가 테이블에 데이터를 추가하도록 허용 jquery

분류에서Dev

사용자가 내 Android 앱의 업데이트를 제거하도록 허용 할 수 있습니까?

분류에서Dev

사용자가 데이터베이스를 django 앱에 연결하도록 허용

분류에서Dev

업데이트하기 전에 Worklight 사용자가 앱을 사용하도록 허용 할 수 있습니까?

분류에서Dev

사용자가 Django Rest Framework에서 자신의 데이터 만 수정하도록 허용하는 방법

분류에서Dev

{문자가 EF Core의 ExecuteSqlRaw를 사용하여 데이터베이스에 저장하도록 허용

분류에서Dev

fileInput을 통해 Shiny 앱 재설정 (사용자가 새 데이터를 탐색 할 때)

분류에서Dev

로컬 네트워크의 사용자가 프록시 서버를 사용하지 않고 pfSense를 통해 인터넷에 액세스하도록 허용

분류에서Dev

목록의 요소를 기반으로 데이터 세트에 새 변수 추가

분류에서Dev

내 인트라넷 외부의 특정 사용자가 웹 사이트에 액세스하도록 허용

분류에서Dev

사용자가 SSRS 보고서의 데이터를 사용자 지정할 수 있도록 허용

분류에서Dev

사용자가 내 모바일 앱을 업데이트하도록 허용하지만 새 다운로드는 중지합니다.

분류에서Dev

사용자가 DB2의 테이블에 액세스하도록 허용

분류에서Dev

WinForm은 새 컨트롤의 창 크기를 자동으로 조정하지만 사용자가 크기를 조정할 수 있도록 허용합니까?

분류에서Dev

사용자가 1024 미만의 포트를 수신하도록 허용

분류에서Dev

사용자가 앱 Swift 내에서 로컬 이미지를 선택하도록 허용

분류에서Dev

사용자가 앱 Swift 내에서 로컬 이미지를 선택하도록 허용

분류에서Dev

사용자가 거북이 화면 창에 데이터를 입력하도록 허용하는 방법

분류에서Dev

사용자가 매일 mysql에 새 레코드를 추가하도록 제한

분류에서Dev

사용자 정의 어댑터에서 데이터가 변경된 후 목록보기 새로 고침

분류에서Dev

사용자가 이미 조인 한 후 mySQL 사용자 데이터베이스 테이블에 추가 데이터를 추가하도록 허용하려면 어떻게해야합니까?

분류에서Dev

Java의 배열에 정보 세트 (사용자 정의 데이터 유형)를 추가하는 방법

분류에서Dev

사용자가 갤러리에서 이미지를 하나로 변경할 수 있도록 허용

분류에서Dev

사용자가 서버의 특정 포트에 액세스하도록 허용

분류에서Dev

VirtualBox 컴퓨터가 호스트 컴퓨터의 IIS 사이트에 액세스하도록 허용

분류에서Dev

관리자가 아닌 사용자가 Firefox를 업데이트하도록 허용하는 방법

Related 관련 기사

  1. 1

    사용자가 태그 사이에 새 태그를 추가하도록 허용

  2. 2

    Shiny Inputs를 사용하여 데이터 세트에 새 변수 만들기

  3. 3

    사용자가 목록에 데이터를 추가하도록 허용

  4. 4

    사용자가 테이블에 데이터를 추가하도록 허용 jquery

  5. 5

    사용자가 내 Android 앱의 업데이트를 제거하도록 허용 할 수 있습니까?

  6. 6

    사용자가 데이터베이스를 django 앱에 연결하도록 허용

  7. 7

    업데이트하기 전에 Worklight 사용자가 앱을 사용하도록 허용 할 수 있습니까?

  8. 8

    사용자가 Django Rest Framework에서 자신의 데이터 만 수정하도록 허용하는 방법

  9. 9

    {문자가 EF Core의 ExecuteSqlRaw를 사용하여 데이터베이스에 저장하도록 허용

  10. 10

    fileInput을 통해 Shiny 앱 재설정 (사용자가 새 데이터를 탐색 할 때)

  11. 11

    로컬 네트워크의 사용자가 프록시 서버를 사용하지 않고 pfSense를 통해 인터넷에 액세스하도록 허용

  12. 12

    목록의 요소를 기반으로 데이터 세트에 새 변수 추가

  13. 13

    내 인트라넷 외부의 특정 사용자가 웹 사이트에 액세스하도록 허용

  14. 14

    사용자가 SSRS 보고서의 데이터를 사용자 지정할 수 있도록 허용

  15. 15

    사용자가 내 모바일 앱을 업데이트하도록 허용하지만 새 다운로드는 중지합니다.

  16. 16

    사용자가 DB2의 테이블에 액세스하도록 허용

  17. 17

    WinForm은 새 컨트롤의 창 크기를 자동으로 조정하지만 사용자가 크기를 조정할 수 있도록 허용합니까?

  18. 18

    사용자가 1024 미만의 포트를 수신하도록 허용

  19. 19

    사용자가 앱 Swift 내에서 로컬 이미지를 선택하도록 허용

  20. 20

    사용자가 앱 Swift 내에서 로컬 이미지를 선택하도록 허용

  21. 21

    사용자가 거북이 화면 창에 데이터를 입력하도록 허용하는 방법

  22. 22

    사용자가 매일 mysql에 새 레코드를 추가하도록 제한

  23. 23

    사용자 정의 어댑터에서 데이터가 변경된 후 목록보기 새로 고침

  24. 24

    사용자가 이미 조인 한 후 mySQL 사용자 데이터베이스 테이블에 추가 데이터를 추가하도록 허용하려면 어떻게해야합니까?

  25. 25

    Java의 배열에 정보 세트 (사용자 정의 데이터 유형)를 추가하는 방법

  26. 26

    사용자가 갤러리에서 이미지를 하나로 변경할 수 있도록 허용

  27. 27

    사용자가 서버의 특정 포트에 액세스하도록 허용

  28. 28

    VirtualBox 컴퓨터가 호스트 컴퓨터의 IIS 사이트에 액세스하도록 허용

  29. 29

    관리자가 아닌 사용자가 Firefox를 업데이트하도록 허용하는 방법

뜨겁다태그

보관