我是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