如果该值符合R中的条件,则更改列表中的值

Nic*_*coM 1 r

我有一组数据,我从csv导入

info <- read.csv("test.csv")
Run Code Online (Sandbox Code Playgroud)

这是一个它看起来像什么的例子

  name   type   purchase
1 mark   new    yes
2 steve  old    no
3 jim    old    yes
4 bill   new    yes
Run Code Online (Sandbox Code Playgroud)

我想做的事:

我想循环遍历purchase列并将所有yes's' 更改为True&no's为False.然后遍历type列并将所有的更改oldcustomer.

我试图弄乱所有不同的应用程序并且无法使其工作.我也试过这个线程中的一堆方法根据R中的条件(`if`)语句替换数据框中的值,但仍然没有运气.

任何帮助或指导将不胜感激!

谢谢,尼科

A5C*_*2T1 5

这是一种使用within,基本字符替换和字符等效的基本测试的方法.

within(mydf, {
  type <- gsub("old", "customer", type)
  purchase <- purchase == "yes"
})
#    name     type purchase
# 1  mark      new     TRUE
# 2 steve customer    FALSE
# 3   jim customer     TRUE
# 4  bill      new     TRUE
Run Code Online (Sandbox Code Playgroud)

我习惯于gsub替换"类型",但还有其他方法可以采取(例如factor,ifelse等等).