小编kan*_*npu的帖子

如何在rmarkdown中格式化数据框

我试图在rstudio中使用rmarkdown。问题是我有一个数据框,其中一个col是一个长字符串。当我如下使用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
```
Run Code Online (Sandbox Code Playgroud)

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

##   x1                  x2
## 1  1      aaaaaaaaaaaaaa
## 2  2 bbbbbbbbbbbbbbbbbbb
##                                                                  x3
## 1    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxx, xxxxxxxxxxxxxxxxxxx
## 2 yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy yyyy, yyyyyyyyyyyyyyyyyyyyyy
Run Code Online (Sandbox Code Playgroud)

首先,我不喜欢将x3打印为单独的一行;其次,我更喜欢左对齐。我怎样才能做到这一点?

谢谢。

r knitr r-markdown

3
推荐指数
1
解决办法
1983
查看次数

如何简化这个程序?

主要功能如下代码:

#f is a function that has two parameters and returns one value:
f <- function(a, b) {
   a * b
}

#x is a's value group
x <- c(1,2,3,4)
#y is b's value group
y <- c(4,5,6)
Run Code Online (Sandbox Code Playgroud)

我想获得f(x,y)的所有可能值,结果应该是一个明确的矩阵.现在我使用for循环:

m <- c(NULL)
for (a in x) {
   for (b in y) {
       m <- c(m, c(a, b))
    }
}
m <- matrix(m, 3, 4)
Run Code Online (Sandbox Code Playgroud)

但它看起来真的非常愚蠢.任何人都可以提供更简单的方法吗?

谢谢.

loops for-loop r function matrix

2
推荐指数
1
解决办法
114
查看次数

标签 统计

r ×2

for-loop ×1

function ×1

knitr ×1

loops ×1

matrix ×1

r-markdown ×1