gpt4 book ai didi

r - 在数据框中选择一些项目并更改它们

转载 作者:行者123 更新时间:2023-12-04 04:36:54 24 4
gpt4 key购买 nike

我有一个包含一些信息的数据框。一些数据是不适用的。类似的东西:

    id fact sex
1 1 3 M
2 2 6 F
3 3 NA <NA>
4 4 8 F
5 5 2 F
6 6 2 M
7 7 NA <NA>
8 8 1 F
9 9 10 M
10 10 10 M

我必须通过一些规则来改变事实(例如乘以 3 个元素,具有(数据 ==“M”))。

我试过 survey$fact[survey$sex== "M"] <- survey$fact[survey$sex== "M"] * 3 ,但由于 NA 我有一些错误。

我知道我可以使用 is.na(x) 检查元素是否为 NA,并在 [...] 中添加此条件,但我希望存在更漂亮的解决方案

最佳答案

我真的很喜欢ifelse ,它似乎总是对 NA 具有所需的行为我的值(value)观。
survey$fact <- ifelse(survey$sex == "M", survey$fact * 3, survey$fact)?ifelse显示第一个参数是测试,第二个参数是测试时分配的值 true最后一个参数是值 if false .如果你分配原来的data.frame列为 false返回值,它将分配测试失败的行而不修改它们。

这是您要求的扩展,以表明您还可以测试 NA值。
survey$fact <- ifelse(is.na(survey$sex), survey$fact * 2, survey$fact)
我也喜欢它的可读性很强。

关于r - 在数据框中选择一些项目并更改它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19609345/

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