我有25个问题的客户调查。问题的答案可在" 1"," 2"," 3"," 4" (1-非常好,2-Good,3-Normal,4-Bad) 每行包含受访者姓名及其给出的所有答案。
数据采用此格式,响应者ID和响应值,列标题包含问题名称。
21044194- 1- 2- 4- 1- 3- 1- 1- 2- 1- 1- 3- 2- 2- 2- 2- 4- 2 21044198- 1- 2- 4- 4- 1- 1- 2- 2- 1- 1- 3- 2- 4- 1- 3- 4- 2 21044199- 1- 2- 3- 1- 2- 3- 2- 1- 1- 2- 3- 2- 4- 1- 3- 4- 2
现在我想创建一个闪亮的应用程序,其中我列出了所有25个问题作为输入,并根据所选问题我需要显示答案的饼图。像这样的1个问题31%ppl选择Very Good,22%选择Good,31%选择Normal,17%选择Bad。
我写了以下代码 - >
Ui.R
library(shiny)
maxraw <- read.csv("C:/Users/Suchita/Desktop/maxraw.csv")
coln <- colnames(maxraw)
# Define UI for dataset viewer application
shinyUI(pageWithSidebar(
headerPanel('Iris k-means clustering'),
sidebarPanel(
selectInput('xcol', 'X Variable', choices = c(coln[26], coln[27], coln[28], coln[29])),
#selectInput('ycol', 'Y Variable', names(iris),
#selected=names(iris)[[2]]),
numericInput('clusters', 'Cluster count', 3,
min = 1, max = 9)
),
mainPanel(
plotOutput('plot1')
)
))
Server.R
library(shiny)
library(datasets)
maxraw <- read.csv("C:/Users/Suchita/Desktop/maxraw.csv")
# Define server logic required to summarize and view the selected
# dataset
shinyServer(function(input, output, session) {
# Combine the selected variables into a new data frame
selectedData <- reactive({
ss <- switch(input$xcol,
"Question1." = 26,
"Question2" = 27,
"Question3" = 28)
a = table(maxraw[,ss])
a = as.data.frame(a)
a$pct <- round(a$Freq/sum(a$Freq)*100) #calculated percentage
a$pcts <- paste(a$pct, "%") # add percents to labels
})
output$plot1 <- renderPlot({
pie(a$pct,labels = a$pcts, main = "Hospital Survey")
})
})
这是str(maxraw)
STR(maxraw) &#39; data.frame&#39;:43 obs。 48个变量: $ Response.ID:int 21044194 21044264 21044287 21044402 21044435 21044481 21044529 21059249 21059266 21059297 ...
$ IP.Address:因子w / 6级&#34;&#34;,&#34; 122.177.157.116&#34;,..:5 5 5 5 5 5 5 5 5 5 ...
$ Timestamp..MM.DD.YYYY。 :因子w / 44级&#34;&#34;,&#34; 02/12/2014 04:30:20&#34;,..:2 3 4 5 6 7 8 9 10 11 ... <登记/> $重复:logi FALSE FALSE FALSE FALSE FALSE ...
$ Time.Taken.to.Complete..Seconds。 :int 146 125 181 94 111 112 575 149 115 0 ...
$ Response.Status:因子w / 3级&#34;&#34;,&#34;完成&#34;,..:2 2 2 2 2 2 2 2 2 3 ...
$ Seq..Number:int 1 1 1 1 1 1 1 1 1 1 ...
$ External.Reference:logi NA NA NA NA NA NA ...
$ Custom.Variable.1:logi NA NA NA NA NA NA ...
$ Custom.Variable.2:logi NA NA NA NA NA NA ...
$ Custom.Variable.3:logi NA NA NA NA NA NA ...
$ Custom.Variable.4:logi NA NA NA NA NA NA ...
$ Custom.Variable.5:logi NA NA NA NA NA NA ...
$ Respondent.Email:logi NA NA NA NA NA NA ...
$ Email.Group.Code:logi NA NA NA NA NA NA ...
$ Country.Code:因子w / 2级&#34;&#34;,&#34; IN&#34;:2 2 2 2 2 2 2 2 2 2 ...
$地区:int 10 10 10 10 10 10 10 10 10 10 ...
$ Please.take.a.minute.to.give.us.your.feedback ... it.helps.us.improve.Thank.you.very.much.for.your.time.and.support..Please。 start.with.the.survey.now.by.clicking.on.the..B.Continue..B..button.below。 :logi NA NA NA NA NA NA ...
$ Date.Of.Visit:因子w / 28级&#34;&#34;,&#34; 01/01 / 2014&#34;,..:22 6 24 1 19 2 21 7 5 1 ...
$ First.Name:因子w / 39级&#34;&#34;,&#34; Abhi&#34;,&#34; Afsar&#34;,..:16 21 39 15 14 29 26 38 17 1 ...
$ Last.Name:因子w / 40级&#34;&#34;,&#34; Abhinav&#34;,&#34; Ali&#34;,..:24 37 35 19 33 13 29 25 9 1 ...
$ Phone:num 4.1e + 07 4.1e + 07 4.1e + 07 4.1e + 07 4.1e + 07 ...
$ Email.Address:因子w / 40级&#34;&#34;,&#34; aali@gmail.com",..:17 24 39 16 15 29 28 38 18 1 ...
$ Name.of.the.doctor。 :因子w / 29级&#34;&#34;,&#34; Jholu博士&#34;,..:29 17 14 28 28 26 12 5 18 1 ...
$ Max.ID. :num 45367298 65438900 67534373 67543923 78654389 ...
$ Satisfaction.With.Doctor.Was.the.Doctor.available.on.time。 :int 4 3 2 3 NA 3 4 2 1 NA ...
$ Satisfaction.With.Doctor.Did.the.Doctor.treat.you.with.courtesy.and.respect。 :int 4 2 3 4 2 3 4 3 1 NA ...
$ Satisfaction.With.Doctor.Did.the.Doctor.explain.your.diagnosis.and.treatment.plan.in.a.way.you.could.understand。 :int 4 3 2 3 3 3 4 3 1 NA ...
$ Satisfaction.with.Nurses.Did.the.Nurses.treat.you.with.courtesy.and.respect。 :int 4 3 2 4 3 4 4 3 1 NA ...
$ Appointment.Was.your.appointment.call.handled.efficiently.and.queries.resolved.to.your.satisfaction。 :int 4 2 3 3 4 3 4 3 1 NA ...
$ Reception.Helpdesk.Was.the.Help.Desk.staff.at.the.hospital.helpful.and.courteous。 :int 4 3 4 3 4 3 4 2 1 NA ...
$ Hospital.Infrastructure.Environment.Was.the.out.patient.department.location.convenient.to.identify。 :int 4 2 2 3 4 2 4 3 1 NA ...
$ Hospital.Infrastructure.Environment.Did.the.areas.you.visited.in.the.hospital.look.clean.and.orderly。 :int 4 3 3 4 3 1 4 2 1 NA ...
$ Hospital.Infrastructure.Environment.Were.the.public.area.washrooms.clean.and.hygienic。 :int 4 3 2 3 4 2 4 2 1 NA ...
$ Front.Office.and.Billing.Did.the.front.office.staff.explain.and.resolve.your.query.regarding.registration.consult.diagnostics.charges.efficiently。 :int 4 3 2 3 2 3 4 2 1 NA ...
$ Front.Office.and.Billing.Was.your.billing.handled.in.a.timely.and.accurate.manner。 :int 4 2 3 2 1 2 4 NA 1 NA ...
$ Diagnostics.Services.Were.the.diagnostic.tests.conducted.in.a.timely.manner。 :int 4 3 2 1 1 3 4 2 1 NA ...
$ Diagnostics.Services.Were.the.diagnostic.tests.conducted.efficiently.and.sensitively。 :int 4 3 3 1 2 3 4 2 1 NA ...
$ Diagnostics.Services.Were.you.clearly.informed.about.report.delivery.time.and.mode.of.collection。 :int 4 3 3 1 2 NA 4 2 1 NA ...
$ Max.Chemist.Were.all.the.prescribed.medicines.or.substitutes.available.at.the.chemist。 :int 4 3 NA 2 1 4 4 2 1 NA ...
$ Max.Chemist.Did.you.find.the.services.at.the.pharmacy.efficient.and.timely。 :int 4 4 NA 3 1 2 4 2 1 NA ...
$ Security ... Parking.Did.you.find.our.car.parking.Valet.service.polite.and.efficient。 :int 4 3 3 3 3 3 4 2 1 NA ...
$ How.likely.is.that.you.would.recommend.Max.Healthcare.to.a.friend.or.colleague。 :int 9 7 6 4 7 8 10 6 1 NA ...
$ Any.additional.suggestions.or.comments:因子w / 31级&#34;&#34;,&#34;不,#34;,&#34; Abhinz很好&#34;,..:28 29 18 21 31 NA 28 30 6 1 ...
$ Help.us.recognize.any.of.our.staff.who.served.you.exceptionally.well..by.providing.his.her.name。 :logi NA NA NA NA NA NA ...
$ A.:因子w / 25级&#34;&#34;,&#34; Abhinav&#34;,&#34; Abhinav&#34;,..:21 21 21 20 14 8 9 12 16 1 ...
$ B.:因子w / 24级&#34;&#34;,&#34; Abhinav&#34;,&#34; balu&#34;,..:21 18 19 20 14 10 16 22 1 1 ...
$ C.:因子w / 17级&#34;&#34;,&#34; Chiya&#34;,&#34; Dimple&#34;,..:1 15 1 7 9 1 3 4 1 1。 ..
我收到错误&#34; $运算符对原子向量无效&#34;。 有人可以提出建议。
感谢。
答案 0 :(得分:3)
错误似乎是由于selectedData
正在返回一个向量而不是data.frame,但您尝试将其用作data.frame。
您需要从selectedData
显式返回完整的data.frame(例如,在该函数的底部添加return(a)
)。然后,您需要在selectedData()
来电中实际呼叫renderPlot
(例如,以a <- selectedData()
中的output$plot1
开头)
答案 1 :(得分:2)
我意识到这是一个旧回复,你可能已经解决了这个问题。对于那些有可怕$ operator is invalid for atomic vectors
消息的人来说,这更多。对于那些具有&gt;核熔化&lt;核熔化&lt;见下文...
您是否尝试更新shinyapps ?您必须从他们的github执行此操作而不是正常方式(如在Rstudio更新包按钮中),而是从R
命令行执行此操作。
a)获取devtools(如果你没有)
install.packages('devtools')
b)从命令行重新安装闪亮的应用
devtools::install_github('rstudio/shinyapps')
线索到&#34;哪里出错?&#34; 查看邮件前面的文字,因为它可能有助于追踪它。我的是:
帐户$ server出错:$ operator对原子向量无效
这表明闪亮的服务器端问题比我的代码更多。这是shinyapps
的新角色中的一个错误,更新shinyapps版本清除了我的原子错误。
我希望Aarithmo你说得对。调试闪亮很棘手。请注意,您可以将browser()
语句放在闪亮的代码中进行调试。它会在那时停止代码,并检查变量是否存在问题。