R 中是否有类似于 bash 中的“此处文档”的内容?

Pri*_*tri 3 r

我的脚本包含该行

lines <- readLines("~/data")
Run Code Online (Sandbox Code Playgroud)

我想将文件数据的内容(逐字)保留在脚本本身中。R 中有“read_the_following_lines”函数吗?类似于 bash shell 中的“此处文档”?

hrb*_*str 5

多行字符串将尽可能接近。这绝对不一样(因为你必须关心引号)但它确实可以很好地满足你想要实现的目标(并且你可以用多个来实现read.table):

here_lines <- 'line 1
line 2
line 3
'

readLines(textConnection(here_lines))

## [1] "line 1" "line 2" "line 3" ""


here_csv <- 'thing,val
one,1
two,2
'

read.table(text=here_csv, sep=",", header=TRUE, stringsAsFactors=FALSE)

##   thing val
## 1   one   1
## 2   two   2


here_json <- '{
"a" : [ 1, 2, 3 ],
"b" : [ 4, 5, 6 ],
"c" : { "d" : { "e" : [7, 8, 9]}}
}
'

jsonlite::fromJSON(here_json)

## $a
## [1] 1 2 3
## 
## $b
## [1] 4 5 6
## 
## $c
## $c$d
## $c$d$e
## [1] 7 8 9

here_xml <- '<CATALOG>
<PLANT>
<COMMON>Bloodroot</COMMON>
<BOTANICAL>Sanguinaria canadensis</BOTANICAL>
<ZONE>4</ZONE>a
<LIGHT>Mostly Shady</LIGHT>
<PRICE>$2.44</PRICE>
<AVAILABILITY>031599</AVAILABILITY>
</PLANT>
<PLANT>
<COMMON>Columbine</COMMON>
<BOTANICAL>Aquilegia canadensis</BOTANICAL>
<ZONE>3</ZONE>
<LIGHT>Mostly Shady</LIGHT>
<PRICE>$9.37</PRICE>
<AVAILABILITY>030699</AVAILABILITY>
</PLANT>
</CATALOG>
'

str(xml <- XML::xmlParse(here_xml))

## Classes 'XMLInternalDocument', 'XMLAbstractDocument' <externalptr>

print(xml)

## <?xml version="1.0"?>
## <CATALOG>
##   <PLANT><COMMON>Bloodroot</COMMON><BOTANICAL>Sanguinaria canadensis</BOTANICAL><ZONE>4</ZONE>a
## <LIGHT>Mostly Shady</LIGHT><PRICE>$2.44</PRICE><AVAILABILITY>031599</AVAILABILITY></PLANT>
##   <PLANT>
##     <COMMON>Columbine</COMMON>
##     <BOTANICAL>Aquilegia canadensis</BOTANICAL>
##     <ZONE>3</ZONE>
##     <LIGHT>Mostly Shady</LIGHT>
##     <PRICE>$9.37</PRICE>
##     <AVAILABILITY>030699</AVAILABILITY>
##   </PLANT>
## </CATALOG>
Run Code Online (Sandbox Code Playgroud)