如何在R中使用mutate(...,ifelse())复制 Dataframe 的值?

hgb9j2n6  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(119)

我正在努力解决一个非常基本的问题。我需要用一个额外的行来扩展现有的数据框,这取决于另一个Row的值-如果该行的值为“Machine 1”,则添加基于外部脚本的值,如果值不是“Machine 1”,则新行也应该包含该名称/值。
到目前为止,我有这个:

mutate(df, new_row= ifelse(Machine_name=="Machine 1", "Value from external script", df$Machine_name))

字符串
我得到的不是“Machine_name”的实际值,而是每个Machine的不同数值,而不是实际名称。

js5cn81o

js5cn81o1#

这里有几个不同的东西,你可以说:

library(dplyr)

df <- data.frame(Machine_name = paste("Machine", 1:3))

# add a new row for every machine, with the new name "blah" if the machine name is "Machine 1"
df |> add_row(df |> mutate(Machine_name = ifelse(Machine_name == "Machine 1", "blah", Machine_name)))

# only add a new row for Machine 1, with the new name "blah"
df |> add_row(df |> filter(Machine_name == "Machine 1") |> mutate(Machine_name = "blah"))

# just replace the name of Machine 1 with "blah"
df |> mutate(Machine_name = ifelse(Machine_name == "Machine 1", "blah", Machine_name))

字符串

相关问题