有没有办法为多列匹配两个不同的数据帧

用户名

我想按条件在各列之间建立链接。我有两个数据帧,如下所示:

df1<-read.table(text=" gol
4
7
6
9
",header=TRUE)

第二个df是:

df2<-read.table(text=" cost1	cost2	cost3	cost4
7	9	5	13
3	12	4	14
9	13	3	11
5	6	2	13
4	3	5	12
8	16	6	9
9	11	2	9
6	14	11	12
5	10	14	6
2	9	4	12

",header=TRUE)

条件是,例如,在df2中为cost1,如果df1中的值大于或等于4,则它为“ y”,否则为“ n”。在成本2中,如果df1中的值大于或等于7,则该值为“ y”,否则为“ n”,依此类推。请假设我有四列以上。

结果如下:

output<-read.table(text=" cost1	cost2	cost3	cost4	out1	out2	out3	out4
7	9	5	13	y	y	n	y
                   3	12	4	14	n	y	n	y
                   9	13	3	11	y	y	n	y
                   5	6	2	13	y	n	n	y
                   4	3	5	12	y	n	n	y
                   8	16	6	9	y	y	y	y
                   9	11	2	9	y	y	n	y
                   6	14	11	12	y	y	y	y
                   5	10	14	6	y	y	y	n
                   2	9	4	12	n	y	n	y
                   ",header=TRUE)

我刚才需要使用ifelse进行此操作,但是在本示例中,我很难做到这一点。您的帮助非常有用。

dc37

我可能尚未想到更好,更优雅的解决方案,但是使用for带有ifelse函数循环,您可以执行以下操作:

dfx <- data.frame(matrix(ncol=ncol(df2),nrow = nrow(df2)))
for(i in 1:ncol(df2))
{
  dfx[,i] <- ifelse(df2[,i] >= df1[i,1],"y","n")
  colnames(dfx)[i] <- paste0("out",i)
}
out <- cbind(df2,dfx)

您将获得以下输出:

> out
   cost1 cost2 cost3 cost4 out1 out2 out3 out4
1      7     9     5    13    y    y    n    y
2      3    12     4    14    n    y    n    y
3      9    13     3    11    y    y    n    y
4      5     6     2    13    y    n    n    y
5      4     3     5    12    y    n    n    y
6      8    16     6     9    y    y    y    y
7      9    11     2     9    y    y    n    y
8      6    14    11    12    y    y    y    y
9      5    10    14     6    y    y    y    n
10     2     9     4    12    n    y    n    y

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有没有办法比较两个数据框中具有不同列号的列并删除与特定列不匹配的行?

来自分类Dev

有没有办法在MATPLOTLIB中使两个轴带有不同的标签?

来自分类Dev

有没有办法在两个双引号内匹配双引号?

来自分类Dev

有没有办法比较结构不同的两个属性文件的键?

来自分类Dev

有没有办法从两个不同的数组中删除相同的值?

来自分类Dev

有没有办法在两个不同的QVideoWidgets上使用QCamera流?

来自分类Dev

有没有办法使用 jenkinsfile 链接两个不同的管道?

来自分类Dev

有没有办法检查单独的“列”中的两个值是否相等?

来自分类Dev

有没有办法让两个点击手势识别器具有不同的点击次数

来自分类Dev

使用 Tiles,有没有办法将我的两个 JSP 减少为一个 JSP?

来自分类Dev

将两个变量相互添加时,有没有办法让tkinter显示不同的标签

来自分类Dev

有没有办法判断换行符是否正在Python中拆分两个不同的单词?

来自分类Dev

有没有办法用php快速生成两个不同的文本文件?

来自分类Dev

有没有办法在两个不同页面之间进行动画向上滚动过渡?

来自分类Dev

有没有办法可以从两个不同字符之间的文本小部件中获取文本?

来自分类Dev

有没有办法以不同的方式编辑列表中相同子字符串的两个实例?

来自分类Dev

有没有办法比较两个Oracle数据库表之间的数据或事务?

来自分类Dev

有没有办法知道核心数据中两个实体之间是否存在关系?

来自分类Dev

有没有办法删除两个斜杠内的所有字符?

来自分类Dev

有没有办法在python中的两个数据行之间进行过滤?

来自分类Dev

有没有办法强制两个线程在同一内核上执行?

来自分类Dev

有没有办法添加两个go interface {}引用?

来自分类Dev

有没有办法在Ruby中通过单个命令退出两个循环?

来自分类Dev

有没有办法使两个类使用相同的泛型?

来自分类Dev

有没有办法设置两个或多个事件分发线程(EDT)?

来自分类Dev

有没有办法在两个兄弟姐妹之间应用CSS样式?

来自分类Dev

有没有办法确定两个IOHIDDeviceRef是否属于同一设备?

来自分类Dev

有没有办法比较两个成员的排名?

来自分类Dev

有没有办法将两个在R中互换的变量分组

Related 相关文章

  1. 1

    有没有办法比较两个数据框中具有不同列号的列并删除与特定列不匹配的行?

  2. 2

    有没有办法在MATPLOTLIB中使两个轴带有不同的标签?

  3. 3

    有没有办法在两个双引号内匹配双引号?

  4. 4

    有没有办法比较结构不同的两个属性文件的键?

  5. 5

    有没有办法从两个不同的数组中删除相同的值?

  6. 6

    有没有办法在两个不同的QVideoWidgets上使用QCamera流?

  7. 7

    有没有办法使用 jenkinsfile 链接两个不同的管道?

  8. 8

    有没有办法检查单独的“列”中的两个值是否相等?

  9. 9

    有没有办法让两个点击手势识别器具有不同的点击次数

  10. 10

    使用 Tiles,有没有办法将我的两个 JSP 减少为一个 JSP?

  11. 11

    将两个变量相互添加时,有没有办法让tkinter显示不同的标签

  12. 12

    有没有办法判断换行符是否正在Python中拆分两个不同的单词?

  13. 13

    有没有办法用php快速生成两个不同的文本文件?

  14. 14

    有没有办法在两个不同页面之间进行动画向上滚动过渡?

  15. 15

    有没有办法可以从两个不同字符之间的文本小部件中获取文本?

  16. 16

    有没有办法以不同的方式编辑列表中相同子字符串的两个实例?

  17. 17

    有没有办法比较两个Oracle数据库表之间的数据或事务?

  18. 18

    有没有办法知道核心数据中两个实体之间是否存在关系?

  19. 19

    有没有办法删除两个斜杠内的所有字符?

  20. 20

    有没有办法在python中的两个数据行之间进行过滤?

  21. 21

    有没有办法强制两个线程在同一内核上执行?

  22. 22

    有没有办法添加两个go interface {}引用?

  23. 23

    有没有办法在Ruby中通过单个命令退出两个循环?

  24. 24

    有没有办法使两个类使用相同的泛型?

  25. 25

    有没有办法设置两个或多个事件分发线程(EDT)?

  26. 26

    有没有办法在两个兄弟姐妹之间应用CSS样式?

  27. 27

    有没有办法确定两个IOHIDDeviceRef是否属于同一设备?

  28. 28

    有没有办法比较两个成员的排名?

  29. 29

    有没有办法将两个在R中互换的变量分组

热门标签

归档