library(tidyverse)
sample <- tibble(id = 1:6,
team_score = 5:10,
cent_dept_test_agg = c(1, 2, 3, 4, 5, 6),
cent_dept_blue_agg = c(15:20),
num_in_dept = c(1, 1, 2, 5, 100, 6))
library(tidyverse)
solution <- tibble(id = 1:6,
team_score = 5:10,
cent_dept_test_agg = c(NA, NA, 3, 4, 5, 6),
cent_dept_blue_agg = c(NA, NA, 17:20),
num_in_dept = c(1, 1, 2, 5, 100, 6))
在我的实际数据集中,我有许多列以cent_dept开始,以agg结束,所以选择与组件匹配的用户是非常重要的。
谢谢你的帮助!
我们可以使用mutate_at
选择匹配的列
'cent_dept'和replace
其中'num_in_dept'为1的值
library(dplyr)
sample %>%
mutate_at(vars(matches('^cent_dept_.*_agg$')), ~
replace(., num_in_dept == 1, NA))
# A tibble: 6 x 5
# id team_score cent_dept_test_agg cent_dept_blue_agg num_in_dept
# <int> <int> <dbl> <int> <dbl>
#1 1 5 NA NA 1
#2 2 6 NA NA 1
#3 3 7 3 17 2
#4 4 8 4 18 5
#5 5 9 5 19 100
#6 6 10 6 20 6
在base r
中,我们还可以
nm1 <- grep('^cent_dept_.*_agg$', names(sample))
sample[nm1] <- lapply(sample[nm1], function(x)
replace(x, sample$num_in_dept == 1, NA))
也可以使用
sample[nm1] <- sample[nm1] * NA^(sample$num_in_dept == 1)
问题内容: 我有一个需要处理的大型numpy数组,以便在满足条件的情况下将每个元素更改为1或0(稍后将用作像素遮罩)。数组中大约有800万个元素,而我当前的方法对于简化流程花费的时间太长: 是否有一个numpy函数可以加快速度? 问题答案: 您可以使用以下方法来缩短它:
我有一个dict1,我想从中删除为空的所有项目,这不仅意味着属性,而且意味着整个字典。 输出应如下所示: 注意:字典中可以有 N 个项目和/或同一字典中的 N 个键值对。此外,字典中可能有 N 个具有空值的 ,因此必须删除所有 b。
本文向大家介绍如何将NA替换为R数据帧中选定列的值?,包括了如何将NA替换为R数据帧中选定列的值?的使用技巧和注意事项,需要的朋友参考一下 在数据分析中,在数据框中查找某些NA值非常普遍,但如果包含NA值的列对分析无用,则所有NA值都不会产生问题。我们可以将所有NA值替换为0或将其他有用的列替换为其他值。 示例 请看以下数据帧- 将NA的连续列更改为零- 将NA的非连续列更改为零-
我有这个数据 如果M3大于UCL,MM3将为“UP”,否则为“NULL” 但是我有几个M列(比如m1~m1005),所以我想做一些代码,比如mutate_each和mutate_at。如何使用mutate和ifelse函数在特定条件下创建新列?
我需要一些关于以下postgres功能的帮助 我有下表和列: 我最初在中有几个数组,然后运行一个查询(实际上是一组3个查询),选择数组,附加它们,然后将附加的数组插入表中。 我需要循环这个插入查询,直到其中一个数组()达到预定义的大小,比如长度50。 我基本上需要写一些 但是我找不到正确的语法来写这个 我http://www.postgresql.org/docs/8.4/static/plpgs
我有一个列中所有值都不同的列表,我需要用1替换该列表中不存在的所有值 这是我在python中所做的工作: