每次参考列的值更改时,都添加一个带有循环遍历向量的值的新列

菜A

我的资料:

ID  B

1   1
2   1
3  -1
4  -1
5  -1
6   1
7   1

我想创建一个列C,当列B的值为1时,该值循环通过c(1.0,1.5,2.0,2.5),而当列B的值为1时循环通过c(-1.0,-1.5,-2.0,-2.5) B列的值为-1。每次B列的值更改时,这些值应重置。

结果如下所示:

ID  B   C

1   1   1.0
2   1   1.5
3  -1   -1.0
4  -1   -1.5
5  -1   -2.0
6   1   1.0
7   1   1.5
8   1   2.0

我尝试使用一个较旧的问题作为参考,该问题是我根据B列中的重复日期在C列中发布了分配值,但我无法使其起作用。

瑞·巴拉达斯(Rui Barradas)

这是带有的基本R单线ave

df1$C <- ave(df1$B, cumsum(c(0, diff(df1$B)) != 0), FUN = function(x) x*seq(1, by = 0.5, length.out = length(x)))

df1
#  ID  B    C
#1  1  1  1.0
#2  2  1  1.5
#3  3 -1 -1.0
#4  4 -1 -1.5
#5  5 -1 -2.0
#6  6  1  1.0
#7  7  1  1.5

数据

df1 <- read.table(text = "
ID  B
1   1
2   1
3  -1
4  -1
5  -1
6   1
7   1
", header = TRUE)

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

每当列值更改时,如何使用“ dplyr”创建一个新组?

每次单元格更改时都创建一个新的日期戳吗?

选择索引更改时,下拉列表值更新为另一个gridview列值

Pandas-创建一个新列,该值在旧列中每次出现值X时都增加

每次循环都创建一个新变量吗?

创建一个函数以遍历现有数据框并将值添加到新列

创建一个在列值更改时从 1 开始的序列

r 添加一个带有另一个条件的新列

如果前一列中的值不同,则创建一个增加的计数器,但在其他列值更改时重置?

我有一个带有日期列的单行数据框。如何添加10行,每行每次将日期更改14天?

添加一个列,该列在另一列更改时增加

如何编写一个更快的循环来检查一列,然后根据第一列的值更改另一列的值?

添加一个具有基于 groupby 值的值的新列另外两列

我如何将此项目附加到同一列表,而不是每次循环时都创建一个新列表?

每次调用都有一个新的随机向量

每次循环确定一个新点(带有坐标),在起点处停止

添加一个新列,该列根据现有字段值自动递增

根据来自另一列的值在 R 数据框中添加一个带有 html 标签的新列

在每次循环迭代中添加一个新标签

当单元格值更改时,将单元格值更改的列复制到同一范围内的另一个工作表

根据熊猫中的另一个列值更改列值

在文件中添加一个带有常量的新列

当一列中的值更改为“ ID”列中的值时,新建一个“更改”列

如果前两列都匹配,则将数据框的一列中的值添加到另一个数据框的新列中

R函数根据文本是否大写创建一个带有值的新列

Python:根据数据帧中的现有列添加一个带有日期的新列

根据一个值添加新列

用一个值添加新列

在有其他列的一个或多个相同的值更新的列值