Pracuji v knihovně, a budeme mít pravidelné výstupy z databáze v souboru csv, který má článek v časopise informace (název, autor, abstrakt, atd.). To má 67 sloupců a názvy sloupců jsou pokaždé stejné. Každý řádek má citační informace pro jiný článek. Cílem je vytvořit tabulku plnou citací v jednom sloupci (vložením dohromady různé sloupce jako autor a datum zveřejnění) a otevřeným přístupem stav v dalším sloupci, s vnějšími sloupy odstraněny. Napsal jsem nějaké R kód, který se automaticky zbaví nepotřebných sloupců a pasty zbytek, který pracoval v pohodě, když jsem byl jediný, čištění. Nicméně, můj nadřízený chce ostatním v kanceláři, aby mohli vykonávat práci, a zeptal se, že jsem se R Lesklé aplikace, aby tak učinily. Nikdy jsem vytvořili dříve. Když se mi podařilo psát kód pro nahrávání a stahování částí skriptu, mám problém se dostat čištění část práce. Tento první kousek kódu je čištění, které jsem již pracují, mimo aplikaci, která funguje.
library(tidyverse)
#data is the name of the csv after I load it
datasubset= subset(data, select = c(Author.Full.Names,Article.Title,Source.Title,Volume,Issue,Article.Number,DOI,Publication.Date,Publication.Year,Open.Access.Designations))
datasubset$Full.Date <- paste(datasubset$Publication.Date, datasubset$Publication.Year)
datasubset$Citation <- paste("Author(s): ",datasubset$Author.Full.Names,". Title:",datasubset$Article.Title,". Volume:",datasubset$Volume,". Issue:",datasubset$Issue,". Article Number:",datasubset$Article.Number,". DOI:",datasubset$DOI,". Published:",datasubset$Full.Date)
citationdata= subset(datasubset, select=c(Citation,Open.Access.Designations))
A to je to, co jsem zatím pro Lesklé aplikace. Já jsem se snažil dávat na čištění kód části v několika způsoby, z několika různých výukových programů (včetně dalších otázek na zde), ale nemůžu to dostat.
library(tidyverse)
library(shiny)
ui <- fluidPage(
fluidPage(
titlePanel("Uploading Files"),
sidebarLayout(
sidebarPanel(
fileInput('data', 'Choose CSV File',
accept=c('text/csv',
'text/comma-separated-values,text/plain',
'.csv')),
tags$hr(),
checkboxInput('header', 'Header', TRUE),
radioButtons('sep', 'Separator',
c(Comma=',',
Semicolon=';',
Tab='\t'),
','),
radioButtons('quote', 'Quote',
c(None='',
'Double Quote'='"',
'Single Quote'="'"),
'"'),
downloadButton('downloadData', 'Download')
),
mainPanel(
tableOutput('contents')
)
)
)
)
server <- function(input, output) {
getData <- reactive({
inFile <- input$data
if (is.null(input$data))
return(NULL)
read.csv(inFile$datapath, header=input$header, sep=input$sep,
quote=input$quote)
})
output$contents <- renderTable(
getData()
)
output$downloadData <- downloadHandler(
filename = function() {
paste("data-", Sys.Date(), ".csv", sep="")
},
content = function(file) {
write.csv(getData(), file)
})
}
shinyApp(ui, server)
Pokud někdo bude schopen mi ukázat k jak sloučit dva spolu, já bych opravdu si toho vážím. V ideálním případě, by někdo mohl přinést csv stáhli z databáze, nahrát do aplikace, aplikace by ji vyčistit, a pak by mohli stáhnout vyčistit verzi, která má pouze dva sloupce-citace a otevřený přístup stav. Také, toto je můj první příspěvek zde, tak prosím, dejte mi vědět, jestli jsem něco chybí relevantní! Děkuji!!!