gpt4 book ai didi

根据条件替换数据框中的行

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

我有以下数据框

   id f1 f2
1 a 1 3
2 b 3 5
3 c 4 7

我想用一行 (id = x, f1 = 0, f2 = 0) 替换所有具有 f1>3 的行所以上面会映射到

   id f1 f2
1 a 1 3
2 b 3 5
3 x 0 0

但是当我尝试的时候

replace(x,which(x$f1>3),data.frame(id = 'x',f1=0,f2=0))

它没有做对,它给了

   id f1 f2
1 a 1 x
2 b 3 x
3 c 4 x
Warning message:
In `[<-.data.frame`(`*tmp*`, list, value = list(id = 1L, f1 = 0, :
provided 3 variables to replace 1 variables

有人可以建议一种大规模执行此操作的方法吗?谢谢。

最佳答案

像这样:

 x[x$f1 > 3,] <- data.frame('x', 0, 0)

应该可以解决问题!


根据@DWin 的评论,这不适用于因子 id 列。不过,使用相同的技术可以像这样工作:

levels(x$id) <- c(levels(x$id), 'x')
x[x$f1 > 3,] <- data.frame('x', 0, 0)
droplevels(x$id)

关于根据条件替换数据框中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12411231/

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