将 Dataframe 转换为列表并将输出排列为Rmarkdown中的文本

disbfnqx  于 2023-02-20  发布在  其他
关注(0)|答案(2)|浏览(137)

我还是RMarkdown的新手,我正在尝试学习一些调整,但我有一个 Dataframe ,看起来像这样:

dat <- data.frame(
  counties=c("greg county","cupe county","Bule county","Jojo county","rofe county"), 
  cases = c(70,98,69,430,56)
)

这个表是从一些统计计算中生成的,而不是在RMarkdown报告中显示为一个表,我想把它转换为一个列表,并在文本中显示结果。这是一个例子,我的意思是:

预期产出

Cases per county: greg county - 70 cupe county - 98 Bule county - 69 Jojo county - 430
                  rofe county - 56

我该怎么办?

yks3o0rb

yks3o0rb1#

可以使用paste()函数连接字符串,使用apply()迭代数据框的行。

output_string <- apply(dat, 1, function(row){
  paste(row['counties'], "-", row['cases'], sep = " ")
})
output_string <- paste(output_string, collapse = " ")
cat("Cases per county:", output_string)

输出:

Cases per county: greg county -  70 cupe county -  98 Bule county -  69 Jojo county - 430 rofe county -  56
vmdwslir

vmdwslir2#

由于pastevectorized,因此我们可以直接将paste应用于列

with(dat, sprintf('Cases per country: %s', paste(counties, cases,
    sep = ' - ', collapse = ' ')))
  • 输出
[1] "Cases per country: greg county - 70 cupe county - 98 Bule county - 69 Jojo county - 430 rofe county - 56"

相关问题