R 添加子数据帧的行数
我有以下数据帧:R 添加子数据帧的行数,r,R,我有以下数据帧: > df1 var1 var2 var3 1 ac bc bc 2 bc bc cc 3 dc ec dc 4 gc gc gc 我从上面的df1中得到了一个子数据帧(4行中只剩下2行): 我想把df2的数字转换成r(r=2,3)。 此外,我想向df1添加一个新列,该列将通过1指示该行存在于df2中。 最终df1将包括以下内容: > df1 var1 var2 var3 df2 1 ac bc b
> df1
var1 var2 var3
1 ac bc bc
2 bc bc cc
3 dc ec dc
4 gc gc gc
我从上面的df1中得到了一个子数据帧(4行中只剩下2行):
我想把df2的数字转换成r(r=2,3
)。
此外,我想向df1添加一个新列,该列将通过1指示该行存在于df2中。
最终df1将包括以下内容:
> df1
var1 var2 var3 df2
1 ac bc bc 0
2 bc bc cc 1
3 dc ec dc 1
4 gc gc gc 0
我该怎么做?我们可以使用%中的
%来比较'df1'和'df2'的行名。我们得到一个逻辑向量,它可以通过+
包装而强制为二进制格式
df1$newcol <- +(rownames(df1) %in% rownames(df2))
df1
# var1 var2 var3 newcol
#1 ac bc bc 0
#2 bc bc cc 1
#3 dc ec dc 1
#4 gc gc gc 0
df1$newcol <- +(rownames(df1) %in% rownames(df2))
df1
# var1 var2 var3 newcol
#1 ac bc bc 0
#2 bc bc cc 1
#3 dc ec dc 1
#4 gc gc gc 0
intersect(rownames(df1), rownames(df2))
#[1] "2" "3"