R markdown:不同行的因素水平
R markdown: levels of factor on different lines
我正在使用 R markdown 根据我们从评估员那里收集的调查数据来创建学生反馈表。输入有 10 个以 *.csv 格式导入的问题。示例数据:
question <- as.factor(c(NA, NA, "response 1.", "response 2.", NA, "response 3."))
目前我的 运行 r levels(question)[-1]
在我的 *.rmd
文件中,它给了我这个输出(以“,”作为分隔符):
response 1., response 2., response 3.
请注意,总会有一些 NA,因此 [-1] 只是删除因子的 NA 水平。
我想要的是在新行上创建每个响应的输出:
response 1.
response 2.
response 3.
我可以通过在每个级别上指定级别来在单个表单上执行此操作,即
r levels(question)[2]
r levels(question)[3]
r levels(question)[4]
然而,对于每个问题,都有可变数量的非 NA 响应(1 到 4),所以我需要一个不需要明确知道会有多少的解决方案。即相同的代码将为 q1 和 q2 提供所需的格式:
q1 <- as.factor(c(NA, NA, "response 1.", NA, NA, "response 2.")
q2 <- as.factor(c(NA, NA, "response 1.", "response 2.", "response 3.", "response 4.")
通常我会用 for 循环来解决这个问题,但 Markdown 读取代码的方式与 R 控制台不同。已尝试 as.character
而不是 as.factor
但似乎没有帮助;调用 levels(question[-1])
似乎是删除 NA
最直接的方法。
谢谢!
您可以使用换行降价运算符 " \n"
将每个回复放在文档中的新行上。
```{r}
question <- as.factor(c(NA, NA, "response 1", "response 2", NA, "response 3"))
```
`r paste0(levels(question), " \n", collapse="")`
我有一个
请注意,我在评论中使用了 cat
,因此您可以在控制台中看到它的打印。在 markdown 文档中,渲染得到处理,因此您不需要 cat
我正在使用 R markdown 根据我们从评估员那里收集的调查数据来创建学生反馈表。输入有 10 个以 *.csv 格式导入的问题。示例数据:
question <- as.factor(c(NA, NA, "response 1.", "response 2.", NA, "response 3."))
目前我的 运行 r levels(question)[-1]
在我的 *.rmd
文件中,它给了我这个输出(以“,”作为分隔符):
response 1., response 2., response 3.
请注意,总会有一些 NA,因此 [-1] 只是删除因子的 NA 水平。
我想要的是在新行上创建每个响应的输出:
response 1.
response 2.
response 3.
我可以通过在每个级别上指定级别来在单个表单上执行此操作,即
r levels(question)[2]
r levels(question)[3]
r levels(question)[4]
然而,对于每个问题,都有可变数量的非 NA 响应(1 到 4),所以我需要一个不需要明确知道会有多少的解决方案。即相同的代码将为 q1 和 q2 提供所需的格式:
q1 <- as.factor(c(NA, NA, "response 1.", NA, NA, "response 2.")
q2 <- as.factor(c(NA, NA, "response 1.", "response 2.", "response 3.", "response 4.")
通常我会用 for 循环来解决这个问题,但 Markdown 读取代码的方式与 R 控制台不同。已尝试 as.character
而不是 as.factor
但似乎没有帮助;调用 levels(question[-1])
似乎是删除 NA
最直接的方法。
谢谢!
您可以使用换行降价运算符 " \n"
将每个回复放在文档中的新行上。
```{r}
question <- as.factor(c(NA, NA, "response 1", "response 2", NA, "response 3"))
```
`r paste0(levels(question), " \n", collapse="")`
我有一个
请注意,我在评论中使用了 cat
,因此您可以在控制台中看到它的打印。在 markdown 文档中,渲染得到处理,因此您不需要 cat