如果在';r';返回NA值

如果在';r';返回NA值,r,R,我有两个数据帧,我想将其中一个数据帧的内容与另一个数据帧的内容进行匹配,为此我使用以下函数: t <- read.csv("F:/M.Tech/Semester4/Thesis/Code/Book1.csv") s <- read.csv("F:/M.Tech/Semester4/Thesis/Code/a4.csv") x <- nrow(s) y <- nrow(t) for(i in 1:x) for(j in 1:y) ifelse (ma

我有两个数据帧,我想将其中一个数据帧的内容与另一个数据帧的内容进行匹配,为此我使用以下函数:

t <- read.csv("F:/M.Tech/Semester4/Thesis/Code/Book1.csv")
s <- read.csv("F:/M.Tech/Semester4/Thesis/Code/a4.csv")
x <- nrow(s)
y <- nrow(t)
for(i in 1:x)
    for(j in 1:y)
        ifelse (match(s[i,2], t[j,1]), s[i,9] <- t[j,2] , s[i,9] <- 0)

而不是
NA
。我想在那里存储0。

第1期:
ifelse
根据测试条件返回两个值中的一个。它不是基于条件执行代码段1或代码段2的流控制函数

这是正确的:

my_var <- ifelse(thing_to_test, value_if_true, value_if_false)

my\u var试着把
s[i,9]
放在前面分配任务。不要使用
匹配
。它不返回逻辑值
s[i,9]欢迎来到SO。作为格式化提示,请使用4个空格作为代码块。还没有人明确建议您在一个或两个
for
-循环中使用
ifelse
。您可以使用
for
循环,也可以使用
ifelse
,但使用两者都是通往疯狂之路。
my_var <- ifelse(thing_to_test, value_if_true, value_if_false)
ifelse(thing_to_test, my_var <- value_if_true, my_var <- value_if_false)