我有一个数据框,其中的变量dbl
包含唯一值(我们称之为Variable1
)。 Variable2
包含10个chr
值之一(例如New York
)。
我想做的是,仅在唯一的Variable1
值==
1234567890处,将New York
替换为London
。
换句话说,如何根据列x
中的唯一ID更改列y
中变量的单个实例?
我怀疑这可能很简单。预先感谢您的帮助!
答案 0 :(得分:0)
您可以在[]<-
对象上使用子设置功能data.frame
,该功能可以帮助您借助逻辑条件确定所需的行,然后将所需的值分配给该行。请参见下面的代码:
# simulation of data.frame with 10 rows
df <- data.frame(
Variable1 = c(1234567890, 1:4),
Variable2 = c("New York", letters[1:4]),
stringsAsFactors = FALSE
)
df
# Variable1 Variable2
# 1 1234567890 New York
# 2 1 a
# 3 2 b
# 4 3 c
# 5 4 d
# change "New York" for "London" for id 123456789
df[df$Variable1 == 1234567890, ]$Variable2 <- "London"
df
# Variable1 Variable2
# 1 1234567890 London
# 2 1 a
# 3 2 b
# 4 3 c
# 5 4 d