小编Nou*_*Nou的帖子

使用 ifelse 添加具有条件值的新列

我有一个包含超过 400.000 个观察值的数据框,我正在尝试向其中添加一列,其值取决于另一列,有时取决于多个列。

这是我正在尝试做的一个更简单的例子:

# Creating a data frame 

M <- data.frame(c("A","B","C"),c(5,100,60))

names(M) <- c("Letter","Number")

#adding a column 

M$Size <- NA

# if Number <= 50 Size is small, 
# if Number is between 50 and 70, Size is Medium
# if Number is Bigger than 70, Size is Big

ifelse (M$Number <=50, M$Size <-"Small",
        ifelse(M$Number <= 70,
        M$Size <- "Medium",
        M$Size <- "Big"
        ))
Run Code Online (Sandbox Code Playgroud)

当我运行代码时,我得到的输出是:

[1] "Small"  "Big"    "Medium"
Run Code Online (Sandbox Code Playgroud)

但是 M 中的“大小”列始终是 ifelse 函数中的最后一个条件:

> print (M)
  Letter Number …
Run Code Online (Sandbox Code Playgroud)

if-statement r conditional-statements dataframe

5
推荐指数
3
解决办法
3万
查看次数