R - 如果列值与字符向量中的任何值匹配,则返回其旁边的列[重复]

问题描述 投票:-1回答:1

这个问题在这里已有答案:

这里是R的新手甚至是编码。我在数据帧“df”中有一个字符向量“更改”,它由我知道需要来自相邻列的输入的值组成。

change <- c("Apple","Bananas","Cheese")

如果“Column”中的值与“change”中的任何值匹配,我想在新列“New”中创建它,然后它给出“Column”中的值,否则它返回“Column A”中的值。

╔══════════╦════════════╦════════════╗
║ ColumnA  ║  ColumnB   ║    New     ║
╠══════════╬════════════╬════════════╣
║ Apples   ║ ApplesNew  ║ ApplesNew  ║
║ Beer     ║ BeerNew    ║ Beer       ║
║ Bananas  ║ BananasNew ║ BananasNew ║
║ Bananas  ║ BananasNew ║ BananasNew ║
║ Cheese   ║ CheeseNew  ║ CheeseNew  ║
╚══════════╩════════════╩════════════╝

我试过这个:

within(df, {
    New <- ifelse(ColumnA %in% change, ColumnB, ColumnA)
}
)

提前致谢。

r if-statement dataframe
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.