簡體   English   中英

R降價:不同行的因子水平

[英]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."))

目前我在我的*.rmd文件中運行r levels(question)[-1] ,它給出了我的輸出(帶“,”作為分隔符):

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 ,因此您可以在控制台中看到它。 在降價文檔中,渲染得到了處理,因此您不需要cat

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM