gpt4 book ai didi

根据前几行替换 R 中的行值

转载 作者:行者123 更新时间:2023-12-04 12:46:43 26 4
gpt4 key购买 nike

下面是我的数据框df

df <- data.frame(A=c(1,1,1,1,0,0,-1,-1,-1,1,1,1,1))

我想要另一个变量 T_D,它在遇到 1A 的值发生变化时保持第一个值或 -1 并将下一行替换为 0

预期输出:

A  T_D
1 1
1 0
1 0
1 0
0 0
0 0
-1 -1
-1 0
-1 0
1 1
1 0
1 0
1 0

最佳答案

dplyrwindow functions让这变得容易。您可以使用 lag函数查看以前的值,看它是否等于当前值。表的第一行没有以前的值所以 T_D永远是NA .幸运的是,该行将始终等于 a所以用第二个变异(或 df[1,2] <- df[1,1] )来解决这个问题很容易。

library(tidyverse) # Loads dplyr and other useful packages

df <- tibble(a = c(1, 1, 1, 1, 0, 0, -1, -1, -1, 1, 1, 1, 1))

df %>%
mutate(T_D = ifelse(a == lag(a), 0, a)) %>%
mutate(T_D = ifelse(is.na(T_D), a, T_D))

关于根据前几行替换 R 中的行值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45189025/

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