这段代码
library(dplyr)
letters = c("A","B","C")
numbers = c(4, 15, 35)
df <- data.frame(letters, numbers)
df %>%
mutate(category = case_when(
numbers %% 5 == 0 ~ "fizz",
numbers %% 7 == 0 ~ "buzz",
TRUE ~ as.character(numbers)
)
)
产生如下数据帧:
letters numbers category
1 A 4 4
2 B 15 fizz
3 C 35 fizz
我想看到的结果是这个数据框:
letters numbers category
1 A 4 4
2 B 15 fizz
3 C 35 fizz
4 C 35 buzz
因为对于行C有两个条件为真,所以我希望为它们中的每一个创建一行。我怎样才能做到这一点?
case_when
/ifelse
将仅返回条件1的输出。您可以这样做:
library(dplyr)
df %>%
mutate(category = case_when(
numbers %% 5 == 0 & numbers %% 7 == 0 ~ "fizz, buzz",
numbers %% 5 == 0 ~ "fizz",
numbers %% 7 == 0 ~ "buzz",
TRUE ~ as.character(numbers))) %>%
tidyr::separate_rows(category)
# letters numbers category
# <chr> <dbl> <chr>
#1 A 4 4
#2 B 15 fizz
#3 C 35 fizz
#4 C 35 buzz
我尝试在数据帧“df_energy”中添加一个新的列“energy_class”,如果“consumpion_energy”值为 有什么办法可以帮我吗? 先谢谢你
我收集了用户在商店购买的物品,以及他从朋友那里得到的喜欢和不喜欢的东西。集合字段如下所示: 现在,我想得到以下总结: 获取用户X的(喜欢-不喜欢)差异 获取用户X的差异(喜欢-不喜欢)到存储Y 获取用户X的(喜欢-不喜欢)差异到商店Y和产品Z 对于#1,我做了: 我得到了正确的结果: [{"_id":"542ea90fbb1e37b09f660980","rankDiff": 2}] 但当我试图通
问题内容: 我想知道是否可能有这样的事情: 知道项目是通过请求接收的JSON容器,因此这就是为什么我使用键值方法的原因。 谢谢 我之所以问是因为我尝试使用Google进行谷歌搜索,但是我唯一能得到的结果是,但是我必须使用。 问题答案: 你当然可以。就像是: HTML JS 演示小提琴
我在Amazon DynamoDB表分区键和范围键。 表结构 现在我想使用带有多个扫描条件的C#库从表中检索数据。 HashKey=123 有什么方法可以使用c#dynamoDB API实现这一点吗?请帮忙
问题内容: 我有2张桌子: 表: 表: 现在,我想获取所有位置并过滤两个属性: 我正在尝试构造一些查询,如下所示: …但是仍然无法得到我所需要的。 问题答案: 经过几个小时的合并和尝试,我终于做到了: 我太接近了,因此将所有过滤条件都移至。
问题内容: 我有一个变量。 我想呼应,如果等于任何下列值,,,,或。有没有办法通过像?? 这样的单个语句来做到这一点? 问题答案: 我认为,使用“ Or”代替“ And”会有所帮助