gpt4 book ai didi

r - 根据 R 中的变量条件添加行

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

我有 df 如下

df
ID type other-col
1 A1 cc
1 A2 dd
1 A3 cc
2 A1 cc
2 B1 aa
3 A2 aa

我想在“ID”随“type”和“other-col”列的 F 值变化时添加新内容
new_df
ID
df
ID type other-col
1 A1 cc
1 A2 dd
1 A3 cc
1 F F <- this row added
2 A1 cc
2 B1 aa
2 F F <- this row added
3 A2 aa

我怎样才能在 R 中做到这一点?
谢谢

最佳答案

一旦您知道每个更改发生的位置的索引,这应该可以在单个替换操作中完成。例如。:

idx <- match(unique(df$ID), df$ID)[-1] - 1

df <- df[sort(c(sequence(nrow(df)),idx)),]
df[seq_along(idx) + idx, c("type","other_col")] <- "F"

# ID type other_col
#1 1 A1 cc
#2 1 A2 dd
#3 1 A3 cc
#3.1 1 F F
#4 2 A1 cc
#5 2 B1 aa
#5.1 2 F F
#6 3 A2 aa

哪里 df曾是:
df <- read.table(text="ID   type  other_col
1 A1 cc
1 A2 dd
1 A3 cc
2 A1 cc
2 B1 aa
3 A2 aa", header=TRUE, stringsAsFactors=FALSE)

关于r - 根据 R 中的变量条件添加行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57517158/

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