gpt4 book ai didi

R如何有条件地替换变量的值

转载 作者:行者123 更新时间:2023-12-04 12:51:57 25 4
gpt4 key购买 nike

我确信这个问题已经被问过很多次了,但我找不到解决方案。

我正在尝试根据第一个变量的值有条件地替换第二个变量的值。这是数据。

 MAKE Continent
1 HOLDEN US
2 HOLDEN US
3 FORD US
4 FORD US

if(gsample$MAKE == "HOLDEN") gsample$Continent = "AUS"

警告信息:

In if (gsample$MAKE == "HOLDEN") gsample$Continent = "AUS" :
the condition has length > 1 and only the first element will be used

最佳答案

根据逻辑条件 MAKE=='HOLDEN',如果条件为 TRUE,我们使用 ifelse 返回 'AUS'否则返回 'Continent' 的相应值。

gsample$Continent <- with(gsample, ifelse(MAKE=='HOLDEN', 'AUS', Continent))

或者我们使用逻辑索引对“Continent”进行子集化并通过赋值替换它。

gsample$Continent[gsample$MAKE=='HOLDEN'] <- 'AUS'

或者我们可以使用data.table。我们将 'data.frame' 转换为 'data.table' (setDT(gsample)),根据 i 中的逻辑条件,我们赋值 (: =) 大陆到“AUS”

library(data.table)
setDT(gsample)[MAKE=='HOLDEN', Continent:= 'AUS']

注意:我们假设“Continent”列是 character 类。

关于R如何有条件地替换变量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32578082/

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