我试图获取2个变量值来填充1个单元格。
例如,说我有以下数据:
LabelTagHelper
此代码为我提供了以下输出:
var1 <- c("100","200","300","400")
var2 <- c("800","900","1,000","800")
var1andVar2 <- paste(var1,var2, sep = "\n")
var3 <- c("11","22","33","44")
allVars <- rbind(var1andVar2,var3)
但是我试图将其作为输出:
> allVars
[,1] [,2] [,3] [,4]
var1andVar2 "100\n800" "200\n900" "300\n1,000" "400\n800"
var3 "11" "22" "33" "44"
因此,我的var1和var2占据了一个单元格,并且它们之间用换行符隔开。
任何想法如何实现这一目标?我很感激!!
答案 0 :(得分:2)
我研究了数据表(DT)提供的选项,并且似乎存在行的分组选项,但是我对JavaScript不够精通,无法正确实现这一点。如果您想坚持使用DT,请查看此link。
但是,我发现使用kableExtra
中的打印选项可能会更优雅,该解决方案可以在html(发光)和pdf输出中使用:
有关更多信息,请参见here。
library(tidyverse)
library(kableExtra)
var1 <- c("100","200","300","400")
var2 <- c("800","900","1,000","800")
var3 <- c("11","22","33","44")
allVars <- rbind(var1, var2 ,var3)
df <- allVars %>% as.tibble(rownames = "Vars")
df <- df %>% mutate(
Vars = case_when(
Vars %in% c("var1","var2") ~ "Var1andVar2",
TRUE ~ Vars
)
)
kable(df) %>%
kable_styling(full_width = F) %>%
column_spec(1, bold = T) %>%
collapse_rows(columns = 1:2, valign = "top")
我在R-mardown笔记本中运行了这段代码,很像输出
它也应该在Shiny-App中工作。
答案 1 :(得分:1)
这将创建一个矩阵C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer
和数据帧m
,其第一行包含d
和var1
,第二行包含var2
。
var3
给予:
m <- rbind(Map(c, var1, var2), as.list(var3))
d <- as.data.frame(m)
colnames(d) <- 1:ncol(d) # use numbers for column names
修订。