这应该是很简单的,但我的努力unlist还是matrix失败了.
如何将以下列表导出到保留相同结构的Excel工作表中?
list(structure(list(rob = c(0.500395231401348, 0.839314035292317,
0.710466394967634, 0.61574235723249)), .Names = "rob", row.names = c(NA,
4L), class = "data.frame"), structure(list(rob = c(0.66163340478379,
0.591092739290417, 0.554484883310407, 0.78199375944331, 0.489388775242085
)), .Names = "rob", row.names = c(NA, 5L), class = "data.frame"),
structure(list(rob = c(0.697897964659196, 0.480394119894312,
0.514294379103359, 0.626971885076273, 0.77938643423231, 0.618135503224601
)), .Names = "rob", row.names = c(NA, 6L), class = "data.frame"))
Run Code Online (Sandbox Code Playgroud)
谢谢!
我怎么会复制这个plyr?
with(mtcars, tapply(mpg, cyl, summary))
具有相同的优雅,即没有拼写出个人统计数据?
我想知道是否有一个明显的简写可以在整个数据集中应用一堆函数,即across(everything(), ...). 解决方案不一定要使用dplyr。
注意
\n! Using `across()` without supplying `.cols` was deprecated in dplyr 1.1.0.\nRun Code Online (Sandbox Code Playgroud)\n例子
\nlibrary(dplyr)\nmtcars |> summarize(across(everything(), list(min, max)))\nRun Code Online (Sandbox Code Playgroud)\n最终目标类似于以下用例(但不仅如此):
\nlibrary(dplyr)\nmtcars |> \n summarize(across(everything(), lst(min, max))) |> \n pivot_longer(everything(), names_to = c("var", ".value"), names_sep = "_")\n\n# A tibble: 11 \xc3\x97 3\n var min max\n <chr> <dbl> <dbl>\n 1 mpg 10.4 33.9 \n 2 cyl 4 8 \n 3 disp 71.1 472 \n 4 hp 52 335 \n 5 drat 2.76 …Run Code Online (Sandbox Code Playgroud) 基本上我想实现这个目标:
vars <- c(x1, x20, x37, etc)
summary(data[vars])
Run Code Online (Sandbox Code Playgroud)
但是,我的变量列表很长,并且它们之间没有逗号.
编辑:Data有500个变量,vars是我要选择的列表.变量名称不遵循任何模式.列表在表单中x1 x20 x37 etc,即以空格分隔.此列表来自SAS语法文件,不属于R工作区.
我已经研究了将变量与分隔符连接起来的函数,例如cat().然而,这从一开始就需要一个对象.另一种方法是在编辑器中使用find/replace(空格到逗号),但我认为这是一个肮脏的黑客.
很明显,我在定义变量列表时遗漏了一些东西; 必须有一个简单的解决方案.
在许多情况下,了解丢失的数据至关重要,忽略它们会严重影响您的分析.
因此我想将useNA = "ifany"默认设置为table().理想地类似于options(stringsAsFactors = FALSE)
我发现下面有一个丑陋的黑客,但它必须更好,没有定义一个功能.
https://stat.ethz.ch/pipermail/r-help/2010-January/223871.html
tableNA<-function(x) {
varname<-deparse(substitute(x))
assign(varname,x)
tabNA<-table(get(varname),useNA="always")
names(attr(tabNA,"dimnames"))<-varname
return(tabNA)
}
Run Code Online (Sandbox Code Playgroud)