Как я могу создать QR-код, содержащий данные из кадра данных в R? - PullRequest
0 голосов
/ 16 января 2019

У меня есть лабораторный анализатор, который генерирует результаты в формате .csv или .xlsx, однако сейчас я должен вручную ввести результаты вывода в нашу систему программного обеспечения для отслеживания результатов вручную, потому что копирование-вставка не работает.

Я хотел бы написать сценарий R, который может преобразовать результаты из этого .csv в программное обеспечение, и лучший способ, о котором я могу подумать, - это сгенерировать результаты в виде штрих-кода / QR-кода, который затем я могу сканировать в к программному обеспечению. Для этого мне нужно, чтобы вывод с разделителями табуляции содержался в QR-коде. До сих пор я мог генерировать QR-код, используя пакет qrcode result-by-result, но если у меня более 50 результатов, я не могу сгенерировать QR-код для каждого и не могу понять, как его получить. qrcode пакет, чтобы дать мне то, что мне нужно.

# Example dataframe
test <- LETTERS[1:10]
result.one <- rnorm(1:10)
result.two <- rnorm(1:10)
df <- data.frame(test, result.one, result.two)

Ожидаемый вывод - это QR-код, который можно сканировать для получения результатов, которые выглядят примерно как выходные данные из этого кода:

library("openxlsx")
library("dplyr")
write.xlsx(select(df, test, result.one), file = "H:/R/junk1.xlsx")
write.xlsx(select(df, test, result.two), file = "H:/R/junk2.xlsx")

где junk1 будет одним QR-кодом, junk2 будет другим и т. Д. ...

Если я смогу это выяснить, я смогу каждый день экономить утомительную работу своего персонала ... так что это очень поможет!

1 Ответ

0 голосов
/ 21 января 2019

Я публикую это как ответ на свой вопрос, хотя я не собираюсь принимать это, потому что я не полностью делаю то, что хочу. Я бы все же предпочел не сканировать 16 qr-кодов для каждого столбца результатов, но это все, что я могу придумать прямо сейчас.

Я генерирую QR-код для каждого результата в столбце «result.one» как jpeg, а затем вставляю jpeg в новый столбец. В конце я собираюсь проанализировать каждый столбец "result.X" и вставить этот вывод как новую таблицу для каждого результата. Если у кого-то есть подход лучше, у меня все уши!

Использование r-markdown

---
title: "QR Code in Column"
author: "dorton"
date: "2019/01/20"
output: html_document
---

library(qrcode)
library(knitr)

#Generate the data frame
test <- LETTERS[1:10]
result.one <- round(rnorm(1:10),2)
df <- data.frame(test, result.one, stringsAsFactors = FALSE)
df$result.one <- as.character(df$result.one) # qrcode_gen requires a character

#Generate a qrcode for each test in df$test
#Requires defining an output folder and writing a new jpeg for each qrcode (not ideal)
for(i in 1:length(df$test)){

  mypath <- file.path("path/name", "qrs", paste(df$test[i], ".jpg", sep = "")) 

  jpeg(file=mypath)
  sapply(df$result.one, function(x) qrcode_gen(df$result.one[i]))
  dev.off()
}

df$QRCodes <- paste0('![]','(path/name/', df$test, '.jpg)', '{width=0.5in}') #making the width 0.5 inches so it's readable

kable(df)

...