1

我有一组从 csv 导入的数据

info <- read.csv("test.csv")

这是它的外观示例

  name   type   purchase
1 mark   new    yes
2 steve  old    no
3 jim    old    yes
4 bill   new    yes

我想做的事:

我想遍历该purchase列并将所有yes's 更改为 True & no's 为 False。然后遍历该type列并将所有的old's 更改为customer.

我试图弄乱所有不同的申请,但无法让它发挥作用。我还尝试了这个线程中的一堆方法根据 R 中的条件 (`if`) 语句替换数据框中的值,但仍然没有运气。

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

谢谢,尼科

4

1 回答 1

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

我习惯于gsub替换“类型”,但也可以采用其他方法(例如factorifelse等)。

于 2013-09-14T04:25:46.213 回答