저는 완전히이 책을 읽고, 위키의 지침에 따라 R
과 R markdown
코드를 실행합니다. 그러나 나는 오류를 계속 받는다.R에서 실행 R Markdown from R
library(rmarkdown)
library(knitr)
library(scales)
Sys.setenv(RSTUDIO_PANDOC = "C:/Program Files/RStudio/bin/pandoc")
rmarkdown::render("test_results.rmd", output_format = "html_document",
output_file = "test_results_data_417.html",
params = list(filename = "input_file_template.xlsx",
connection_string = "driver={SQL Server};server=ServerName;database=DBName;trusted_connection=true"
))
날이 과정을 통해 이끌어 주실
으로 VisualStudio에서나는 Script.R
파일이? 나는 필요한 다른 것을 첨부 할 수있다. 감사합니다
편집 여기
오류가 참조 곳으로, 스크립트 testing.R
입니다 : 여기
library(RODBC)
library(readxl)
load_file <- function(query_filename) {
query_file <- read_excel(query_filename, col_types = c("text", "text", "text"))
query_file$control_query <- as.character(gsub("[\r\n]", " ", query_file$control_query))
query_file$test_query <- as.character(gsub("[\r\n]", " ", query_file$test_query))
query_file
}
run_tests <- function(connection_string, query_filename) {
query_file <- read_excel(query_filename,col_types = c("text", "text", "text"))
query_file$control_query <- as.character(gsub("[\r\n]", " ", query_file$control_query))
query_file$test_query <- as.character(gsub("[\r\n]", " ", query_file$test_query))
dbhandle <- odbcDriverConnect(connection_string)
all_results <- data.frame( test_name = character(),
control_query = character(),
test_query = character(),
control_results = character(),
test_results = character(),
passed = character(),
stringsAsFactors = FALSE
)
for (i in 1:NROW(query_file)) {
test_name <- query_file[[i, "test"]]
control_query <- query_file[[i, "control_query"]]
test_query <- query_file[[i, "test_query"]]
control_results <- sqlQuery(dbhandle, control_query)
test_results <- sqlQuery(dbhandle, test_query)
passed <- control_results == test_results
new_row <- as.data.frame(c(test_name, control_query, test_query, control_results, test_results, passed))
names(new_row) <- c("test_name", "control_query", "test_query", "control_results", "test_results", "passed")
all_results <- rbind(all_results, new_row)
}
odbcClose(dbhandle)
all_results
}
입니다 test_results.rmd
기본적으로,이 흐름 Script.R-> test_results.rmd-> 테스트해야합니다 .R
---
output: html_document
css: rmd_style.css
params:
filename: None
connection_string: None
title: "Test Results For `r params$filename`"
date: "`r format(Sys.time(), '%d %B, %Y')`"
---
```{r, echo=FALSE, message=FALSE , warning = FALSE, include = FALSE}
library(RODBC)
library(readxl)
library(knitr)
library(scales)
source(".\\testing.R")
test_results <- run_tests(params$connection_string, params$filename)
names(test_results) <- c("Test Name", "Control Query", "Test Query", "Control Results", "Test Results", "Passed")
```
<br><br>
```{r, echo=FALSE, message=FALSE}
kable(test_results, format.args = list(digits = 10, nsmall = 0, decimal.mark = ".", big.mark = ",", scientific = FALSE))
```
R 작업을 마크 다운 작업 외부에서 성공적으로 실행할 수 있습니까? 오류 메시지는 markdown 파일에있는 R 코드의 12 - 21 행에 문제가 있음을 나타냅니다.이 경우 6 개의 이름을 하나의 요소 만있는 벡터의 속성으로 설정하려고합니다. –
@ LenGreski, 질문이 이상한 경우 미안 해요, markdown이 기본적으로 script.R에서 실행되는 경우, markdown없이 script.R을 어떻게 실행할 수 있습니까? 나는 12-21 행을 본다. Updating post – Sher
VisualStudio에서 R을 실행하는 것에 익숙하지 않지만 RStudio를 사용하여 R Markdown 파일에서 각 코드 조각을 대화식으로 실행하고 HTML 또는 PDF로 변환하기 전에 R 코드가 작동하는지 확인할 수 있습니다. –