gpt4 book ai didi

r - 更新数据框的子集

转载 作者:行者123 更新时间:2023-12-04 02:16:48 26 4
gpt4 key购买 nike

我有一个这样的数据框

col.1 <- c("a", "b", "c", "d", "e", "b", "c")
col.2 <- c(22, 33, 55, 66, 66, 22, 54)
df <- data.frame(col.1, col.2)

df$col.1search.df 匹配时,我想将 col.2 更新为 100 >

search.df <- c("b", "d")

事实上,我的 dataframe 超过 1k 行,而我的 search.df 有 16 个元素。我知道一些 SQL,但在 R 中找不到直接的更新。

最佳答案

df[df[,1] %in% search.df, 2] <- 100

或者如果你想直接使用数据框的列元素

df$col.2[df$col.1 %in% search.df] <- 100

为简单起见,同样分割:

# get index of rows to be updated by checking each value 
# in col1 against search.df => e.g. FALSE, TRUE, FALSE, ...
index <- df[,1] %in% search.df

# update col2 where index is TRUE to a new value
df[index, 2] <- 100

关于r - 更新数据框的子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33329586/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com