我正在嘗試根據用戶選擇的變數顯示前三名用戶的串列(見下文)。我創建了一個函式,該函式根據通過下拉串列選擇的代理商過濾我的表,并檢索列中的前 3 個用戶。然后我將該列轉換為字串以在應用程式中呈現它,但結果顯示在 c(...) 之間:

我可以接受以逗號分隔的名稱格式,但我找不到消除 c(...) 的方法。
這是我的功能的代碼:
Top3UsersbyAgency <- function(filteredbyAgencyPool) {
filteredbyAgencyPool %>%
arrange(desc(MTD_Domestic)) %>%
group_by(userDisplayName) %>%
head(3) %>%
select(userDisplayName) %>%
na.exclude() %>%
na_if("") %>%
na.omit() %>%
toString()
}
這是結果:
> Top3UsersbyAgency(filteredbyAgencyPool)
[1] "c(\"Payal Malhotra\", \"Swati Parmar\", \"Unassigned\")"
在應用程式中,我只是在 ui 中使用了 textOutput,在服務器函式中使用了 renderText。我還嘗試使用 renderTable 在列中顯示結果,但老實說,中間的列標題看起來很難看,所以我寧愿將資訊顯示為純文本中的名稱串列。關于如何清理這個字串的任何建議?
提前致謝!
uj5u.com熱心網友回復:
嘗試將data.frame列轉換為向量 %>% .[[1]]:
op3UsersbyAgency <- function(filteredbyAgencyPool) {
filteredbyAgencyPool %>%
arrange(desc(MTD_Domestic)) %>%
group_by(userDisplayName) %>%
head(3) %>%
select(userDisplayName) %>%
na.exclude() %>%
na_if("") %>%
na.omit() %>%
.[[1]] %>%
toString()
}
作為說明:
library(magrittr)
data.frame(c('a','b','c')) %>% toString()
#> [1] "c(\"a\", \"b\", \"c\")"
data.frame(c('a','b','c')) %>% .[[1]] %>% toString()
#> [1] "a, b, c"
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/430462.html
