我在 R 中有一个数据表
我想删除以"_nd"结尾的列。
我的dt:

我想要

我想要这个脚本的反面
dt[,.SD, .SDcols = patterns("_nd")]
Run Code Online (Sandbox Code Playgroud)
感谢您的帮助
我有这样的数据:
dat <- mtcars %>% mutate(cyl2 = cyl*2,cyl3 = cyl*3)
Run Code Online (Sandbox Code Playgroud)
我想使用 tabyl 运行以下每个交叉表 [vs,cyl] [vs,cyl1] [vs,cyl2] [vs,cyl3]:
我知道我可以运行 vs, cyl 这样的命令,并对每个“cyl”变量重复此操作。不过我想形成某种循环而不是重复这个。
dat%>%
tabyl(vs,cyl)%>%
adorn_percentages("row") %>%
adorn_pct_formatting(digits = 2) %>%
adorn_ns()
Run Code Online (Sandbox Code Playgroud)
所以我研究了一个函数:
run_xtable <- function(data,v1) {
out <- data%>%
tabyl(vs,v1)%>%
adorn_percentages("row") %>%
adorn_pct_formatting(digits = 2) %>%
adorn_ns()
return(out)
}
run_xtable(dat,'cyl')
Run Code Online (Sandbox Code Playgroud)
我遇到了一些问题,非常感谢任何帮助!
该函数不接受 v1 作为引用变量。为什么是这样?我尝试用 enquo 包裹它,但没有任何区别。
错误:必须按.data.*中找到的变量进行分组v1,未找到列。
我如何设置它,以便我可以使用类似的东西来减少重复:
sapply(run_xtable, c('cyl','cyl1','cyl2'))
谢谢你!
我有这种类型的数据框:
manufacturer P
honda 33
honda 32
honda 32
honda 29
honda 32
honda 34
honda 36
honda 36
honda 29
Run Code Online (Sandbox Code Playgroud)
我想让列制造商具有唯一的名称。例如本田_1、本田_2。怎么做?