R $:类型为';关闭';不可附加,如何解决此问题?

R $:类型为';关闭';不可附加,如何解决此问题?,r,shiny,shinydashboard,shiny-reactivity,R,Shiny,Shinydashboard,Shiny Reactivity,我上传了两个csvs,我正在shinyr中使用reactive()来操作csv数据。然而,我得到了这个错误 $:类型为“closure”的对象不可子附加时出错 我对R很陌生,我怎样才能克服那个错误?!谢谢 ##datasets datatables Client Amount Reason 1 0000001440MACT800 100000 6866755276 datatable C

我上传了两个
csv
s,我正在
shinyr
中使用
reactive()
来操作
csv
数据。然而,我得到了这个错误

$:类型为“closure”的对象不可子附加时出错

我对R很陌生,我怎样才能克服那个错误?!谢谢

    ##datasets
    datatables
                 Client Amount     Reason
    1 0000001440MACT800 100000  6866755276

    datatable
                CLIENTID UPDATED.BY DEPOSIT.TYPE       AMOUNT       UPDATED.ON
    1  0000001451MACT800      ADMIN Cash-Deposit   100,000.00  7/14/2016 09:33
    2  0000001002MACT800      ADMIN Cash-Deposit   100,000.00  7/14/2016 09:23
    3  0000001006MACT800      ADMIN Cash-Deposit 1,500,000.00  10/3/2016 11:48
    4  0000001440MACT800      ADMIN Cash-Deposit   100,000.00  7/12/2016 14:13
    5  0000001022MACT800      ADMIN Cash-Deposit   150,000.00  10/6/2016 14:23
    6  0000001024MACT800      ADMIN Cash-Deposit   100,000.00  7/20/2016 08:18
    7  0000001032MACT800      ADMIN Cash-Deposit   100,000.00  7/20/2016 08:17
    8  0000001034MACT800      ADMIN Cash-Deposit    50,000.00  7/20/2016 08:29
    9  0000001037MACT800      ADMIN Cash-Deposit   100,000.00  7/20/2016 08:17
    10 0000001440MACT800      ADMIN Cash-Deposit 1,000,000.00  11/3/2016 14:40
    11 0000001053MACT800      ADMIN Cash-Deposit 1,000,000.00  11/3/2016 14:51
    12 0000001053MACT800      ADMIN Cash-Deposit 5,000,000.00  11/9/2016 15:02
    13 0000001082MACT800      ADMIN Cash-Deposit   500,000.00  11/2/2016 12:47
    14 0000001451MACT800      ADMIN Cash-Deposit 7,000,000.00 11/15/2016 13:12
    15 0000001099MACT800      ADMIN Cash-Deposit 6,404,564.00 11/17/2016 14:23
    16 0000001101MACT800      ADMIN Cash-Deposit    50,000.00  11/2/2016 12:50

function(input, output, session) {    
             dhh  <- reactive({
                inFile <- input$file
                if (is.null(inFile)) return(NULL)
                datatables <- read.csv(input$file[[1, 'datapath']], check.names=FALSE)
                return(datatables)
              })

      output$terry <- renderDataTable({
        if (is.null(dhh)) return(NULL)
        datatables <- data.frame(dhh())
        datatables
      })

              mk <- reactive({
                if (is.null(input$file)) return(NULL)
                inFile <- input$file
                datatable <- read.csv(input$file[[2, 'datapath']], check.names=FALSE)
                return(datatable) 
              })

      output$contents <- renderDataTable({
        if (is.null(mk)) return(NULL)
        datatable <- data.frame(mk())
        datatable
      })

            gloria <- reactive({
                alice <- dhh()
                calvin <- mk()
                x1=calvin[order(nrow(calvin):1),] #invert row order
                ppp <- as.character(alice$Client )
                non <- data.frame(calvin$CLIENTID)
                vcv <- c(ppp)  
                tttt <- as.vector(non)

                r <- calvin[non %in% vcv, ] 

                pipo <- r %>% 
                  mutate(UPDATED.ON=as.Date(factor(r$UPDATED.ON), format = "%m/%d/%Y"))%>% 
                  group_by(r$CLIENTID) %>%  
                  arrange(desc(UPDATED.ON)) %>%
                  slice(1)

         #calculate difference in days
            y <- pipo$UPDATED.ON
            tr <- as.Date(factor(y), format = "%Y/%m/%d")
            jp <- Sys.Date()
            ty <- as.numeric(difftime(Sys.Date(), tr), units="days")
            ty
            ty <- data.frame(ty)
            ty
            #calculate account maintenance fees
            acc <- 60.0885 * ty
            acc

            #calculate amount of money to be deposited to utrade
            jjj <- mk$Amount
            jjj
            tmt <- jjj - acc
            tmt
            class(tmt)

            #converting numeric to string
            tb <- sprintf("%.0f", (tmt))
            tb

            Client <- x1$Client

            btk <- data.frame( Client, "Acc Fees" = acc)
            btk

            uhy <- data.frame(Client, "Amount" = tb, "Reason" = x1$Reason)
            uhy

            names(btk) <- gsub(x = names(btk),
                               pattern = "\\.",
                               replacement = " ")
            btk


            })

          output$marvin <- renderDataTable({
            gloria()

          })}
##数据集
数据表
客户金额原因
100000140Mact800 100000 6866755276
数据表
CLIENTID.BY DEPOSIT.TYPE AMOUNT UPDATED.ON更新
1000000 1451Mact800管理员现金存款100000.00 7/14/2016 09:33
200万1002MACT800管理员现金存款100000.00 7/14/2016 09:23
300万1006MACT800管理员现金存款1500000.00 10/3/2016 11:48
400万1440Mact800管理员现金存款100000.00 7/12/2016 14:13
500万1022Mact800管理员现金存款150000.00 10/6/2016 14:23
600万1024MACT800管理员现金存款100000.00 7/20/2016 08:18
700万1032Mact800管理员现金存款100000.00 2016年7月20日08:17
800万1034MACT800管理员现金存款50000.00 7/20/2016 08:29
900万1037马克800管理员现金存款100000.00 2016年7月20日08:17
1000000 1440Mact800管理员现金存款1000000.00 2016年11月3日14:40
1100万1053Mact800管理员现金存款1000000.00 2016年11月3日14:51
1200万1053Mact800管理员现金存款5000000.00 11/9/2016 15:02
130000000 1082Mact800管理员现金存款500000.00 11/2/2016 12:47
140000000 1451Mact800管理员现金存款7000000.00 11/15/2016 13:12
1500万1099MACT800管理员现金存款6404564.00 11/17/2016 14:23
1600万1101Mact800管理员现金存款50000.00 2016年11月2日12:50
函数(输入、输出、会话){

dhh您引用的
mk
无功值没有括号,这是必需的,因为从技术上讲,对象是一个无功函数。这应该可以解决您的问题:


jjj如果没有您的数据样本就很难判断。您可以使用dput共享其中的一些吗?另外,dhh和mk-它们来自哪些软件包?我们需要查看您闪亮的服务器功能的其余部分以提供帮助。根据错误判断,
dhh()
和/或
mk()
reactive values.@iod,我已经添加了数据集和其他与dhh()和mk()相关的代码,希望这会有所帮助out@Wil我添加了dhh()和mk()老实说,到目前为止,我在您发布的代码中没有看到任何可能导致该错误的内容。您是否能够共享更多闪亮的应用程序?如果能看到
服务器中的所有内容,那就太好了。谢谢@Wil,我没有注意到。它成功地清除了其他错误,但现在又出现了一个新错误“警告:数据中存在错误。框架:参数意味着不同的行数:0,1”我很高兴您能够澄清这一点。如果我的答案有帮助,请接受它,以便其他人也能找到它。至于您的新错误,这是一个单独的问题,因此您需要发布一个新问题。