比较R中的两个整数列值并填充新列 [英] compare two integer column values in R and fill a new column

查看:46
本文介绍了比较R中的两个整数列值并填充新列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试根据比较两个列的值的条件在R数据框中填充新的列值.使用for循环和if-else控制语句.

I am trying to fill new column values in R data frame based on a condition that compares values from two columns. Using for loop and if-else control statement.

这是我的样本数据集

Year1 | Year2 
----- | -----
1990  | 1990
1992  | 1992
1995  | 1998
1997  | 2000

我想做这样的事情:

for (i in 1:length(year1)
{
if (year1[i] == year2[i]) 
   flag = 1 
   next
else 
   flag = 2
}

这似乎不起作用.出于某种原因,所有条件都被评估为TRUE,并且标记始终为1.

This doesn't seem to be working. For some reason, all the conditions are evaluated as TRUE and flag is always 1.

我想知道为什么所有条件都被评估为TRUE?我验证了循环遍历了year1的所有值.

I wonder why all conditions are evaluated as TRUE? I verified that the loop iterates over all values of year1.

任何建议将不胜感激!

推荐答案

也许:

df$flag <- 2
df[df$Year1==df$Year2,]$flag <- 1

这篇关于比较R中的两个整数列值并填充新列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆