Преобразование грубого вывода консоли R в файл R - PullRequest
1 голос
/ 16 апреля 2020

Я пытаюсь работать с грубым файлом, который содержит конфиденциальные данные (то есть реальная версия не может быть опубликована), когда человек предоставил скопированный код и вывод r-файла в консоль r, что выглядит абсолютно ужасно. В основном это выглядит примерно так, но представьте себе тысячи строк

> #here are some comments  
> 
> data(mtcars)
> install.packages("dplyr")
Installing package into �C:/Users/Home/Documents/R/win-library/3.6�
(as �lib� is unspecified)
trying URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/dplyr_0.8.5.zip'
Content type 'application/zip' length 3227917 bytes (3.1 MB)
downloaded 3.1 MB

package ‘dplyr’ successfully unpacked and MD5 sums checked

The downloaded binary packages are in
    C:\Users\Home \AppData\Local\Temp\RtmpAnZJhs\downloaded_packages
> 
> 
> #let's look at some data 
> dim(mtcars)
[1] 32 11
> 
> #here is how to do a linear model 
> lm(disp ~ mpg, data=mtcars)

Call:
lm(formula = disp ~ mpg, data = mtcars)

Coefficients:
(Intercept)          mpg  
     580.88       -17.43  

> summary(lm(disp ~ mpg, data=mtcars))

Call:
lm(formula = disp ~ mpg, data = mtcars)

Residuals:
    Min      1Q  Median      3Q     Max 
-103.05  -45.74   -8.17   46.65  153.75 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  580.884     41.740  13.917 1.26e-14 ***
mpg          -17.429      1.993  -8.747 9.38e-10 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 66.86 on 30 degrees of freedom
Multiple R-squared:  0.7183,    Adjusted R-squared:  0.709 
F-statistic: 76.51 on 1 and 30 DF,  p-value: 9.38e-10

У человека нет старого кода, но он говорит, что есть простой способ исправить это в любой IDE кода, но я не думаю, что Rstudio имеет функциональность для чтения только частей с > и преобразования их в файл R. Я пытался превратить этот файл в текстовый файл в python и читать его построчно, но, похоже, это не сработало. Я готов принять любое решение, которое может превратить этот беспорядок в R-файл или даже текстовый файл, который можно скопировать, вставить в R и запустить без всякого ужасного вывода на консоль

1 Ответ

3 голосов
/ 16 апреля 2020

Вы можете попробовать ниже appraoch, с учетом ввода я написал код, сохранить весь текст кода в файле с именем text.txt, а затем сделать следующий

rd <- readLines('text.txt')

code_part <- grep('^>.+$', rd, value=TRUE)
code_part <- trimws(gsub('^>', '', code_part))

writeLines(paste(code_part, collapse = '\n'), 'file.txt')

Файл окончательного файла. txt 'будет содержать часть кода, написанную на R в виде текстового файла. Этот файл должен присутствовать в вашем текущем рабочем каталоге. Пожалуйста, попробуйте сообщить мне, если вам нужна дополнительная помощь.

Вывод на моем конце в файле .txt:

#here are some comments

data(mtcars)
install.packages("dplyr")


#let's look at some data
dim(mtcars)

#here is how to do a linear model
lm(disp ~ mpg, data=mtcars)
summary(lm(disp ~ mpg, data=mtcars))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...