我是R新手,请耐心等待。将两个数据帧合并成一个新条件
我有两个dataframes:
df1 <- data.frame(name = c("name 1", "name 2", "name 3", "name 4"),
columnname = c("hello", "", "hello", ""))
df2 <- data.frame(name = c("name 1", "name 2", "name 3"),
columnname = c(1, 2, 3))
它看起来像:
df1
#name columnname
#name 1 hello
#name 2
#name 3 hello
#name 4
df2
#name columnname
#name 1 1
#name 2 2
#name 3 3
我的目标是在DF2相应的值来替换值 “你好” DF1(和NA其他) ,并创建一个新的数据框,df3。到目前为止,我有以下代码:
fun <- function(cat_df, ret_df, col_name) {
ret_df[, col_name] <- ifelse(cat_df[, col_name] == "hello", ret_df[, col_name],"NA")
return(ret_df)
}
df3 <- fun(df1, df2, col_name = "columnname")
df3
#name columnname
#name 1 1
#name 2 NA
#name 3 3
#name 4 NA
但是,我有350列和3000行。所以我的问题是,我如何展开代码来保存350列和3000行的数据框?其他类型的代码非常受欢迎!
我收到以下错误:'[.data.frame'(df2,,x):undefined columns selected – Louis
您的数据显然有不同的行数。这使得给定的解决方案无效。 – Heroka
好的,有没有一种方法可以在代码中截断它? – Louis