r - 使用带有多个参数的 lapply() 生成 html 代码
问题描述
我正在尝试使用在循环中生成几个 html 段落lapply()
。这些段落在 a 中data.frame
,并且data.frame
有更多列,其中包含段落的详细信息(类、id 等)。我能够只用一个参数生成循环,问题是我想要循环中的多个参数lapply()
。有谁知道该怎么做?
data.frame
: _
df = data.frame(paragraph = c("paragraph1","paragraph2","paragraph3"),
class= c("alert", "good", "alert"),
id= c("id_1","id_2", "id_3"))
目标是获得以下输出:
<div>
<p class="alert" id="id_1">paragraph1</p>
<p class="good" id="id_2">paragraph2</p>
<p class="alert" id="id_3">paragraph3</p>
</div>
lappy()
循环(仅用于一个参数):
library(htmltools)
tags$div(lapply(df$paragraph, function(x){tags$p(class="", id="", x)}))
我该如何做到这一点,以便用列class
和中id
的数据填充class
和?id
df
解决方案
您可以apply
按行使用,并从数据框中指定类、ID 和内容,如下所示。
library(htmltools)
tags$div(apply(df, 1, function(x) {
tags$p(class = x[["class"]], id = x[["id"]], x[["paragraph"]])
}))
输出
<div>
<p class="alert" id="id_1">paragraph1</p>
<p class="good" id="id_2">paragraph2</p>
<p class="alert" id="id_3">paragraph3</p>
</div>
推荐阅读
- python - 从 Python unittest 中的另一个类调用函数
- html - 如何在 else if (this.responseText == ({"POWER":"ON"})) {
- angular - 我们如何根据用户输入的角度开始时间和结束时间来计算周期时间?
- python - 在同一行打印范围内的所有值
- javascript - 带有firebase的Javascript实时图表
- react-native - 如何在 React Native 应用程序中管理登台和生产环境
- sql - 当列名基于变量结果时,如何从多个列返回值
- c# - 如何从 C# 中的 xamarin uitest 关闭/打开 xamarin android/iOS 应用程序中的网络
- r - 如何按组向所有数据添加特定值?
- python - 浏览器中的重定向与python代码不同