如何在rmarkdown中格式化数据帧

时间:2015-04-15 06:15:50

标签: r knitr r-markdown

我试图在rstudio中使用rmarkdown。 问题是我有一个数据帧,其中一个是长字符串。 当我使用rmarkdown时如下:

```{r, echo=FALSE}
x1 <- c(1,2)
x2 <- c("aaaaaaaaaaaaaa", "bbbbbbbbbbbbbbbbbbb")
x3 <- c("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxx, xxxxxxxxxxxxxxxxxxx",
       "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy yyyy, yyyyyyyyyyyyyyyyyyyyyy")

df <- data.frame(x1=x1, x2=x2,x3=x3)
```

```{r, echo=FALSE}
df
```

我得到以下输出(我用html):

##   x1                  x2
## 1  1      aaaaaaaaaaaaaa
## 2  2 bbbbbbbbbbbbbbbbbbb
##                                                                  x3
## 1    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxx, xxxxxxxxxxxxxxxxxxx
## 2 yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy yyyy, yyyyyyyyyyyyyyyyyyyyyy

首先,我不想将x3作为单独的行打印;第二,我更喜欢左对齐。我怎么能这样做?

谢谢。

1 个答案:

答案 0 :(得分:4)

您可以使用options(width=x)控制元素的宽度,并通过调用print(df, right=FALSE)左对齐。你可以隐藏这个残骸(尽管你可能不想),例如:

---
title: "Interesting data.frame"
author: "Me"
date: "15 April 2015"
output: html_document
---

```{r, echo=FALSE}
options(width=100)
```


```{r}
x1 <- c(1,2)
x2 <- c("aaaaaaaaaaaaaa", "bbbbbbbbbbbbbbbbbbb")
x3 <- c("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxx, xxxxxxxxxxxxxxxxxxx",
        "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy yyyy, yyyyyyyyyyyyyyyyyyyyyy")

df <- data.frame(x1=x1, x2=x2,x3=x3)
```

```{r, eval=FALSE}
df
```

```{r, echo=FALSE}
print(df, right=FALSE)
```

......产生......


enter image description here