gpt4 book ai didi

r - 在 dplyr 管道中组合 ifelse 语句变异和序列

转载 作者:行者123 更新时间:2023-12-02 08:15:55 25 4
gpt4 key购买 nike

我想像这样替换 D3.js 气泡图中的城市名称 How to display d3 bubbles in different colors for a dataset with one branch and many children?

我有很多“小城市”要可视化,我想用一个 id 替换它们的标签。为了更好地显示(并创建图例)。

这是一个小例子

cities <- c("Brest", "Rennes", "Rennes", "Rennes", "Nantes", "Lorient") 
dataset <- data.frame(cities)
dataset

dataset <- dataset %>%
count(cities)

这是我的结果:n = 1(1 =“小城市”)

cities     1
Brest 1
Lorient 1
Nantes 1
Rennes 3

小城市 =

我的期望:

n = 1 的城市 ID 序列(1 =“小城市”)

cities     n     id_sequence
Brest 1 1
Lorient 1 2
Nantes 1 3
Rennes 3 NA

我正在尝试完成我的管道但没有成功:

dataset <- dataset %>%
count(cities) %>%
mutate (id_sequence = ifelse (n = 1:length(cities))

谢谢你的帮助!

最佳答案

您可以按如下方式执行此操作:

dataset %>%
count(cities) %>%
group_by(n) %>%
mutate(id_sequence = ifelse(n == 1, 1:n(), NA))
## Source: local data frame [4 x 3]
## Groups: n [2]
##
## cities n id_sequence
## <fctr> <int> <int>
## 1 Brest 1 1
## 2 Lorient 1 2
## 3 Nantes 1 3
## 4 Rennes 3 NA

此处的想法是按包含计数的列进行分组。在 mutate() 中,n() 将给出每组中的行数。对于 n == 1 的组,n() 将返回 3。

关于r - 在 dplyr 管道中组合 ifelse 语句变异和序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41897785/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com