- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在处理如下所示的数据框,并想计算 A 列中某些模式(“B”和“C”)的出现次数。
使用 rowwise、mutate 和 grepl 的代码确实有效,但使用 rowwise 的速度非常慢。我想知道是否有任何替代 rowwise 的方法来获得相同的结果?
temp <- data.frame(
A = c('A','B','C','BC')
)
temp %>%
dplyr::rowwise() %>%
mutate( B = sum(grepl(pattern = 'B',A),grepl(pattern = 'C',A) ) )
结果:
# A tibble: 4 x 2
# Rowwise:
A Count
<chr> <int>
1 A 0
2 B 1
3 C 1
4 BC 2
最佳答案
grepl
是矢量化的,问题出在您的 sum
上。使用 +
代替:
temp %>%
mutate(
Count = grepl(pattern = 'B', A) + grepl(pattern = 'C', A)
)
# A Count
# 1 A 0
# 2 B 1
# 3 C 1
# 4 BC 2
和这个一样的区别:
sum(1:3, 1:3)
# [1] 12
1:3 + 1:3
# [1] 2 4 6
关于r - mutate & rowwise & grepl 的替代品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64913481/
简单的问题,但不知道为什么: 输入 Eigen::MatrixXd Ha(2, 3); Ha << 1, 2, 3, 4, 5, 6; std::cout << "Ha: " << std::endl
我有一个包含多列的数据框,我创建了一个新列,该列从其他列中的任一列中随机采样一个值。我如何回溯以判断该值来自哪一列? 我见过完全相同的问题和解决方案 here ,但它在 python 中,找不到 R
我想将两个向量合并到一个数据集中,并将其与函数 mutate 集成为 5 个新列到现有数据集中。这是我的示例代码: vector1% rowwise()%>% mutate(vector2|>
我再次对如何实现这一目标感到困惑: 鉴于此数据框: df 1 1 1 0 2 2 0 1 1 1 3 1
我正在尝试创建一个新列,其中将包含对 tibble 的列的子集按行进行计算的结果, 并将此新列添加到现有的 tibble。像这样: df % select(starts_with("A")) %>%
我有这个 df: df 1 1 6 11 a 1 2 2 7 12 b 2 3 3 8 13
我有一个数据: df_1 % select(-y) %>% rowwise() %>% mutate(var = sum(c(x.1, x.3))) 但是,以下函数(对于所有变量)不起作用
这是我之前问过的问题,但我用错误的方式解释了它,所以我将再次打开一个新问题。感谢您的帮助和时间! 数据输入: df=pd.DataFrame({'variable':["A","A","B","B",
我正在处理如下所示的数据框,并想计算 A 列中某些模式(“B”和“C”)的出现次数。 使用 rowwise、mutate 和 grepl 的代码确实有效,但使用 rowwise 的速度非常慢。我想知道
我有一个数据框,想使用 dplyr 的逐行计算每行中零的数量。我做错了什么? dt2 = data.frame(A = c(8, 6), B = c(0, 0), C = c(0, 5)) dt2 z
我正在尝试对具有字符向量作为列表元素的列表变量执行集合操作(相交、联合、setdiff、setequal)。例如, library(dplyr) list1 = list(c('a', 'b'),
我尝试使用 mutate 和 rowwise 返回一个列表,但出现代码中显示的错误。这些问题Q1 Q2有帮助,但我想通过使用 rowwise() 迭代行来保持简单,并且问题已经有 3 年 7 个月了。
你好:谁能提供一个外行的解释,为什么这两种尝试计算行平均值的方法不同? 谢谢。 library(tidyverse) var1% select(starts_with('var')) %>%
因此,如果希望在 dplyr 中逐行应用操作,可以使用 rowwise函数,例如:Applying a function to every row of a table using dplyr? 有没
我有下面的 tibble,我想从中创建第 4 列,它是来自 A、B 和 C 的联合向量。我知道 dplyr::unite() 可以创建一个新的字符向量,但我正在寻找创建一个带有向量的列表列。 现在 r
我有一个像这样的 Pandas 数据框: df = pd.DataFrame({'A': [2, 3], 'B': [1, 2], 'C': [0, 1], 'D': [1, 0], 'total':
我在使用 rowwise() 计算每行中的 NA 数量时遇到问题。我的最小例子: df % rowwise() %>% mutate(Count_NA = sum(is.na(.))) #
这在某种程度上与此question有关: 原则上,我尝试了解使用多于1种功能(如(rowwise,mutate,mean()等)的多列sum()的min()操作是如何工作的。 我了解到across可以
这个问题已经有答案了: Pandas conditional creation of a series/dataframe column (13 个回答) Create new column base
我尝试将 rowwise 和 mutate 与可以返回 NA 值的函数一起使用,但出现错误。考虑这个人为的示例(这显然不是 rowwise 的情况,但说明了错误): 这有效: library(dply
我是一名优秀的程序员,十分优秀!