伙计们,我有2个数据框如下。
df1 按相反顺序排序,显示活动发生的次数。
活动次数#
步行38
慢跑26
运行12个
df2 显示执行活动时消耗的卡路里,再次按卡路里燃烧的相反顺序排序。
活动卡路里燃烧
跑38
步行27
慢跑12
我想在df2上添加第二列,显示来自df1的Activity的行索引。例如,Running在第3行df1(行方式)但在df2的第1行中。因此有没有办法让我添加第二列显示df1的行索引,如下所示?
df2已更新 :(或df3)
活动卡路里燃烧发生指数
跑38 3
步行27 1
慢跑12 2
所有数据都来自一个基础表df0,其中每个Activity的发生率都记录为一个单独的行。我把它总结成df1& df2但不确定如何进行最后一步。谢谢!
答案 0 :(得分:2)
我们可以使用match
来创建新列
df1$OccurrenceIndex <- match(df2$Activity, df1$Activity)
df1
# Activity NoOfOccurrences OccurrenceIndex
#1 Walking 38 3
#2 Jogging 26 1
#3 Running 12 2
答案 1 :(得分:1)
您可以将df1中的索引分配给新的列“索引”。然后,您可以使用merge()
函数按活动名称查找值。
df1$df1_Index <- as.numeric(row.names(df1))
df2 <- merge(df2,df1[c("Activity","df1_Index")],by="Activity")