在具有相似名称的列之间使用 for 循环

凸轮

我正在尝试使用tidyverse( purrr) 包for loop在我的数据集上运行 a 我想检查沿数据集的某些列是否存在一定数量的条件。请注意,我试图更加熟悉 tidyverse 及其功能,而不是依赖 Base R。

这是我想为其编写 for 循环的代码。

 nrow(subset(data, flwr_clstr1>1 & bud_clstr1==0))
 nrow(subset(data, flwr_clstr2>1 & bud_clstr2==0))
 nrow(subset(data, flwr_clstr3>1 & bud_clstr3==0))

我有类似的数据列(在这种情况下,它将是 flwr_clstr),但最后一位数字有所不同。此外,如果有另一种方法可以tidyverse用来检查这些“条件”,那也很棒。

这是我对 for 循环的尝试。

 check1 <- vector("double", ncol(data_phen))
       for (i in seq_along(data_phen)) {
     check[[i]] <- nrow(subset(data, flwr_clstr[[i]]>1 & bud_clstr[[i]]==0))
  }
罗纳克·沙阿

如果您可以提供一个可重现的示例,那么帮助会更容易,但是我根据我的理解创建了一个示例,说明您的数据可能是什么样子。

我们可以使用map2_intfrompurrr因为我们试图计算每对列中的行数

library(dplyr)
library(purrr)

map2_int(data %>% select(starts_with("flwr_clstr")), 
         data %>% select(starts_with("bud_clstr")), 
         ~sum(.x  > 1 & .y == 0))  %>% unname()

#[1] 2 3 1

然而,基础 R 也没有那么糟糕。这可以解决使用mapply

col1 <- grep("^flwr_clstr", names(data))
col2 <- grep("^bud_clstr", names(data))
mapply(function(x, y) sum(x > 1 & y == 0), data[col1], data[col2])

数据

假设您有相同数量的列"flwr_clstr..""bud_clstr.."

data <- data.frame(flwr_clstr1 = c(2, 1, 2, 1, 0), flwr_clstr2 = c(2, 2, 2, 1, 0),
  flwr_clstr3 = c(1, 1, 2, 1, 1), bud_clstr1 = 0, bud_clstr2 = 0,bud_clstr3 = 0)

看起来像

data
#  flwr_clstr1 flwr_clstr2 flwr_clstr3 bud_clstr1 bud_clstr2 bud_clstr3
#1           2           2           1          0          0          0
#2           1           2           1          0          0          0
#3           2           2           2          0          0          0
#4           1           1           1          0          0          0
#5           0           0           1          0          0          0

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在循环中选择具有相似模式的列名称

来自分类Dev

具有UIButton名称的For循环

来自分类Dev

在VBA中循环浏览具有相似名称结构的工作表

来自分类Dev

在VBA中循环浏览具有相似名称结构的工作表

来自分类Dev

通过geb中的循环调用具有相似名称的方法

来自分类Dev

在R中使用带有mutate的循环对具有部分匹配的列名称的列求和

来自分类Dev

在类之间使用扫描器循环(Java)

来自分类Dev

mysql查询在循环中使用具有相同名称的列的左联接

来自分类Dev

如何使用循环循环

来自分类Dev

使用for循环或lapply将Web抓取到具有相似URL的R个多个链接

来自分类Dev

使用具有循环的游标更新列

来自分类Dev

使用for循环?

来自分类Dev

使用for循环

来自分类Dev

使用“for循环”

来自分类Dev

在循环期间使用函数的php数组

来自分类Dev

在r中编写for循环以合并具有匹配名称(几乎没有差异)的列

来自分类Dev

具有不同引导列的 Wordpress 循环

来自分类Dev

使用while循环而不是for循环

来自分类Dev

在while循环内使用for循环

来自分类Dev

如何检查不同的数据具有相同的列。带循环的名称

来自分类Dev

试图通过 for 循环创建具有数据框名称的新列?

来自分类Dev

如何在应用之间使用ManyToManyFields而不产生循环导入?

来自分类Dev

使用for循环创建列

来自分类Dev

具有$ count的Div类名称;在WordPress循环中

来自分类Dev

Ruby-在循环中创建具有动态名称的方法

来自分类Dev

jQuery,循环仅具有部分名称或ID的元素

来自分类Dev

R中的XML:具有循环名称的多个子代

来自分类Dev

在具有不同列名称的for循环中的left_join

来自分类Dev

具有$ count的Div类名称;在wordpress循环中

Related 相关文章

热门标签

归档