- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有 3 个数据框。每个 df 有 3 个 A 变量和 3 个 B 变量和 3 个阈值 (1, 2, 3)
df1 <- tibble(
var1A= rnorm(1:10) +1,
var1B= rnorm(1:10) +1,
var2A= rnorm(1:10) +2,
var2B= rnorm(1:10) +2,
var3A= rnorm(1:10) +3,
var3B= rnorm(1:10) +3)
df2 <- tibble(
var1A= rnorm(1:10) +1,
var1B= rnorm(1:10) +1,
var2A= rnorm(1:10) +2,
var2B= rnorm(1:10) +2,
var3A= rnorm(1:10) +3,
var3B= rnorm(1:10) +3)
df3 <- tibble(
var1A= rnorm(1:10) +1,
var1B= rnorm(1:10) +1,
var2A= rnorm(1:10) +2,
var2B= rnorm(1:10) +2,
var3A= rnorm(1:10) +3,
var3B= rnorm(1:10) +3)
thresholds = c(1, 2, 3)
list_dfs = c('df1','df2','df3')
现在我想对所有 A 和 B 变量以及所有 df 执行 t.test(例如 t.test df1$var1A 和 df1$var1B)。我将在 matrixTests::col_t_welch()
map(list_dfs,
function(df_name){
x <- get(df_name)
lapply(thresholds, function(i){
col_t_welch(x %>%
pull(paste0("var",i,"A")),
x %>%
pull(paste0("var",i,"B")))
})
})
现在我为每个阈值和每个 df 生成了一个 varA 和 varB 的 t.test 表。
最后我想用 bind_rows() 绑定(bind)所有这些表。但随后我收到一条错误消息:Argument 1 must have names
map(list_dfs,
function(df_name){
x <- get(df_name)
lapply(thresholds, function(i){
col_t_welch(x %>%
pull(paste0("var",i,"A")),
x %>%
pull(paste0("var",i,"B")))
})
}) %>% bind_rows
Error: Argument 1 must have names
谁能帮我解决这个问题?
最佳答案
这是你想要的结果吗?
首先,我根据您的问题加载库并创建数据。
library(tibble)
library(purrr)
library(dplyr)
library(matrixTests)
df1 <- tibble(
var1A= rnorm(1:10) +1,
var1B= rnorm(1:10) +1,
var2A= rnorm(1:10) +2,
var2B= rnorm(1:10) +2,
var3A= rnorm(1:10) +3,
var3B= rnorm(1:10) +3)
df2 <- tibble(
var1A= rnorm(1:10) +1,
var1B= rnorm(1:10) +1,
var2A= rnorm(1:10) +2,
var2B= rnorm(1:10) +2,
var3A= rnorm(1:10) +3,
var3B= rnorm(1:10) +3)
df3 <- tibble(
var1A= rnorm(1:10) +1,
var1B= rnorm(1:10) +1,
var2A= rnorm(1:10) +2,
var2B= rnorm(1:10) +2,
var3A= rnorm(1:10) +3,
var3B= rnorm(1:10) +3)
thresholds = c(1, 2, 3)
list_dfs = c('df1','df2','df3')
在这里,我在绑定(bind)之前取消列出
结果。
map(list_dfs,
function(df_name){
x <- get(df_name)
lapply(thresholds, function(i){
col_t_welch(x %>%
pull(paste0("var",i,"A")),
x %>%
pull(paste0("var",i,"B")))
})
}) %>%
unlist(recursive = FALSE) %>%
bind_rows()
这给出了,
#> obs.x obs.y obs.tot mean.x mean.y mean.diff var.x var.y
#> 1 10 10 20 0.4123358 0.9386079 -0.52627205 1.2887733 1.4188697
#> 2 10 10 20 1.4848642 1.8852731 -0.40040891 0.7594906 1.9971866
#> 3 10 10 20 2.9905342 3.1454473 -0.15491307 0.9501264 0.6863846
#> 4 10 10 20 1.2409187 0.9453490 0.29556964 1.8969049 0.5213807
#> 5 10 10 20 2.0823664 2.3150223 -0.23265591 0.5171046 0.6771720
#> 6 10 10 20 3.0354769 2.2958400 0.73963696 0.8915344 1.1509940
#> 7 10 10 20 0.5546491 0.8868825 -0.33223340 0.6404670 0.4313640
#> 8 10 10 20 2.9031533 2.5956085 0.30754479 1.1602239 1.6080605
#> 9 10 10 20 3.1435888 3.1988889 -0.05530018 1.7926813 0.4374122
#> stderr df statistic pvalue conf.low conf.high alternative
#> 1 0.5203502 17.95854 -1.0113806 0.3252679 -1.6196681 0.5671240 two.sided
#> 2 0.5250407 14.98023 -0.7626246 0.4575287 -1.5196353 0.7188175 two.sided
#> 3 0.4045381 17.54432 -0.3829381 0.7063657 -1.0064012 0.6965751 two.sided
#> 4 0.4917607 13.59994 0.6010437 0.5576963 -0.7620703 1.3532096 two.sided
#> 5 0.3455831 17.68236 -0.6732272 0.5095070 -0.9596350 0.4943232 two.sided
#> 6 0.4519434 17.71416 1.6365699 0.1193625 -0.2109603 1.6902343 two.sided
#> 7 0.3273883 17.34004 -1.0147992 0.3241530 -1.0219320 0.3574652 two.sided
#> 8 0.5261449 17.54094 0.5845249 0.5663102 -0.7999219 1.4150114 two.sided
#> 9 0.4722387 13.14519 -0.1171022 0.9085494 -1.0743655 0.9637651 two.sided
#> mean.null conf.level
#> 1 0 0.95
#> 2 0 0.95
#> 3 0 0.95
#> 4 0 0.95
#> 5 0 0.95
#> 6 0 0.95
#> 7 0 0.95
#> 8 0 0.95
#> 9 0 0.95
由 reprex package 创建于 2019-03-21 (v0.2.1)
关于R bind_rows() 错误 : Argument 1 must have names,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55278386/
我有这个数据: dat=list(structure(list(Group.1 = structure(3:4, .Label = c("A","B", "C", "D", "E", "F"), cl
我看过这个答案:Error in bind_rows_(x, .id) : Column can't be converted from factor to numeric但我不能mutate_all
假设我有两个简单的数据框,如下所示: stuff # 2: stuff 2 # 3: stuff 3 # 4: stuff2 NA 1 # 5: stuff2 NA
我有两个数据框列表。我想将每个列表中的每个数据帧组合在一起,使用诸如 bind_rows 或 rbind 之类的方法将一个数据帧放在另一个之上。这两个列表具有名称和顺序完全相同的列。 类似 combi
我的理解是 dplyr::bind_rows() 仅对数据帧进行操作。为什么下面两个是相同的? # Load pkgs, set seed library(dplyr) set.seed(1) # C
这个问题在这里已经有了答案: Simplest way to get rbind to ignore column names (2 个回答) 3年前关闭。 这个问题之前可能已经回答过,但我似乎找不到
haven::read_dta支持使用 label 将变量标签从 Stata 导入 R属性。 Rstudio 还支持在 View Pane 中显示这些标签。 但是,当使用 dplyr::bind_ro
我使用了以下代码: total_covid % bind_rows(.id = 'Status') 或使用 dplyr::lst得到一个命名 list dplyr::lst(transfo
这个问题在这里已经有了答案: Tidyverse approach to binding unnamed list of unnamed vectors by row - do.call(rbind
考虑以下两个小标题: library(tidyverse) a 1 a -1 100 2 a 0 200 3 a 1
我有一个混合数据框、tibble 和空列表的列表。在应用 bind_rows 附加其余数据帧之前,如何删除 tibble 和空列表? 我尝试使用 delete.NULLs 函数,但出现错误: Erro
我有一个要合并的小标题列表(长度 = 5000)。他们都有相同的列,所以我想到了使用 dplyr::bind_rows 合并。从表面上看,每个添加的 tibble 绑定(bind)行非常快,但是随着添
有没有一种方法可以在一组数据帧上使用 bind_rows() 而无需首先从数据库中收集它们? 假设我定义了几个 dplyr 查询表: mydatabase % filter(id > 10) %>%
希望我不会重复一些以前存在的问题。我正在使用 32 位 Win7 机器,R V=3.2.0,dplyr V=0.4.1,RStudio 0.98.1103。 有问题的文件是读入 vars (x,y/s
这个问题在这里已经有了答案: Combine (rbind) data frames and create column with name of original data frames (7 个
这个问题在这里已经有了答案: Combine (rbind) data frames and create column with name of original data frames (7 个
我需要 bind_row 27 个 excel 文件。虽然我可以手动完成,但我想用循环来完成。循环的问题在于它将第一个文件绑定(bind)到 i然后第一个文件到i+1 ,因此输i .我怎样才能解决这个
我正在尝试使用 bind_rows 将多个数据帧合并为一个数据帧。每个数据框具有相同的列名和长度。假设每个数据帧都被命名为“df”,其中有 100 个。所以 df1, df2, df3 ... df1
我有一个数据框,我想获取每行的总和以及每列的频率。我尝试使用表格和摘要,但没有得到正确的结果。 这里是示例数据集: A B C D E 0 1 0 1 0 1 0
我很难用简单的英语表达这一点,所以如果有人可以编辑语言,那将不胜感激。 我有一个 list 对象,其中每个元素都是 data.frame 结构的 list。 顶级列表中的一些元素可能是空的,而其他元素
我是一名优秀的程序员,十分优秀!