以下是一个示例代码,它展示了如何遍历一个数据框,并根据两个条件从另一个数据框中添加数据。
# 创建示例数据框
df1 <- data.frame(ID = c(1, 2, 3, 4, 5),
Condition1 = c("A", "B", "A", "B", "B"),
Condition2 = c("X", "Y", "X", "Y", "X"))
df2 <- data.frame(ID = c(1, 2, 3, 4, 5),
Value = c(10, 20, 30, 40, 50))
# 创建一个空的新数据框,用于存储结果
df_result <- data.frame(ID = numeric(),
Condition1 = character(),
Condition2 = character(),
Value = numeric())
# 遍历df1中的每一行
for (i in 1:nrow(df1)) {
# 获取条件值
condition1 <- df1$Condition1[i]
condition2 <- df1$Condition2[i]
# 根据条件从df2中获取相应的值
value <- df2$Value[df2$ID == df1$ID[i]]
# 将结果添加到新数据框df_result中
df_result <- rbind(df_result, data.frame(ID = df1$ID[i],
Condition1 = condition1,
Condition2 = condition2,
Value = value))
}
# 输出结果
print(df_result)
这段代码将遍历df1
中的每一行,根据条件在df2
中查找相应的值,并将结果添加到新的数据框df_result
中。最后,它将打印出df_result
的内容。