gpt4 book ai didi

R 不根据条件更新字段

转载 作者:行者123 更新时间:2023-12-02 09:15:42 25 4
gpt4 key购买 nike

我有一个简单的 DF:

Dev_Func   
agn
agn
ttt
ttt
agn

我想做的就是如果该字段包含“agn”,请将其替换为“PE”

这是我编写的代码:

test = subset(Final.ds,Device_Function == "AGN" | Device_Function ==   
"TTT", select = c(Device_Function))
colnames(test) = c("Device_Function")
as.character(test)
test = within(test, Device_Function[Device_Function == 'AGN'] = 'PE')

但我不断收到此错误:

Warning message:
In `[<-.factor`(`*tmp*`, Device_Function == "AGN", value = "PE") :
invalid factor level, NA generated

它所做的就是用 NA 替换所有“AGN”值。请帮忙!

最佳答案

您可以使用gsub来做到这一点:

df$Dev_Func <- gsub("agn", "PE", df$Dev_Func)

df

# Dev_Func
#1 PE
#2 PE
#3 ttt
#4 ttt
#5 PE

Dev_Func 作为一个因素的替代解决方案(如 akrun 提到的):

df$Dev_Func <- as.factor(gsub("agn", "PE", df$Dev_Func))

class(df$Dev_Func)

[1] "factor"

关于R 不根据条件更新字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47411751/

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