如何使用rmarkdown将数据框转换为可打印的单个列表?

时间:2018-08-01 12:30:22

标签: r r-markdown

我正在尝试使用rmarkdown将单个数据框转换为可打印的单个列表集,就像在电话簿中一样,但是我遇到了麻烦。我将如何打开此数据框:

df<-mtcars[1:4,1:4]

进入这样的一组列表吗?...

Car: Mazda Rx4
MPG: 21.0
cyl: 6
disp: 160
hp: 110

Car: Datsun 710
MPG: 22.8
cyl: 4
disp: 108
hp: 93
...

2 个答案:

答案 0 :(得分:1)

尝试:

df<-mtcars[1:4,1:4]
df<-cbind.data.frame(car=row.names(df),df)
row.names(df)<-NULL

text<-gsub( '[][{}?*\\,    \\"]', replacement = "", text)
cat(gsub("\\:", ": ", text))

car: MazdaRX4
mpg: 21
cyl: 6
disp: 160
hp: 110


car: MazdaRX4Wag
mpg: 21
cyl: 6
disp: 160
hp: 110

答案 1 :(得分:0)

您拥有的东西与JSON非常相似。如果将其转换为JSON字符串,则可以清除不需要的字符。这对于大型数据集将不是理想的选择

$outfile = [System.IO.Path]::GetTempFileName()
$errorfile = [System.IO.Path]::GetTempFileName()

$command = "write-host 'hello world!'"
$encodedCommand = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($command))
$argumentList = @(
    "-NoLogo",
    "-NonInteractive",
    "-NoProfile",
    "-EncodedCommand",
    $encodedCommand
)

Start-Process powershell `
    -argumentlist $argumentList `
    -PassThru `
    -wait `
    -RedirectStandardOut $outfile  `
    -NoNewWindow `
    -RedirectStandardError $errorfile | Out-Null

if ((Get-Item $errorfile).length -gt 0)
{
    Import-Clixml $errorfile | Out-String | Write-Warning 
}
else 
{
    Write-Host "No Errors"
}

Get-Content $outfile
$outfile, $errorfile | Remove-item