根据来自另一个数据帧的值替换数据帧中的行元素

juancda4

我对 R 相当陌生,所以我希望有人能帮助我。我的脚本之一中的输出表averagetable如下所示,显示Standing了三个不同集群中事件的不同比例

> print(averagetable)
   Group.1  Standing
1 cluster1  0.5642857
2 cluster2  0.7795848
3 cluster3  0.7922980

请注意,每次我运行脚本时,R 都可以为这些值分配不同的集群名称(cluster1,cluster2cluster3averagetable$Standing另一个输出可以是:

> print(averagetable)
   Group.1 Standing
1 cluster1 0.7795848
2 cluster2 0.5642857
3 cluster3 0.7922980

另一方面,我的脚本生成tableresults数据帧。请在head()下面找到示例:

> head(tableresults)
  ACTIVITY_X ACTIVITY_Y ACTIVITY_Z winning_cluster
1         19         21         28        cluster3
2         20         14         24        cluster3
3         34         35         49        cluster3
4         18          5         19        cluster2
5         23         27         35        cluster3
6         33         20         39        cluster3

我的问题很简单。我想根据三个规则tableresults更改列中的字符串时转换数据winning_cluster

1)写Standingtableresults$wining_cluster由具有最高群集名称替换它Standing的价值averagetable

2)写Moving/Feedingtableresults$wining_cluster由具有第二最高群集名称替换它Standing的价值averagetable

3)写入Feeding/Movingtableresults$wining_cluster由具有第三高群集名称替换它Standing的价值averagetable

换句话说,这是所需的输出:

> head(tableresults_output)
  ACTIVITY_X ACTIVITY_Y ACTIVITY_Z winning_cluster
1         19         21         28        Standing
2         20         14         24        Standing
3         34         35         49        Standing
4         18          5         19        Moving/Feeding
5         23         27         35        Standing
6         33         20         39        Standing

请注意,具有基于值的分层组件非常重要,该组件将根据averagetable分配条件 1) 2) 或 3) 使用以下方法无法解决此问题:

averagetable$classification <- factor(x = as.character(sort(averagetable$Standing)),
                labels = c('Feeding/Moving', 'Moving/Feeding','Standing'))

使用此命令Standing将始终链接到cluster1, Moving/Feedingtocluster2Feeding/Movingtocluster3并且在averagetable重新生成时不一定正确

无论如何,感谢任何帮助,我希望我的问题对论坛来说足够有趣。

r2evans

这是一个刺:


tableresults <- read.table(header=TRUE, stringsAsFactors=FALSE, text="
  ACTIVITY_X ACTIVITY_Y ACTIVITY_Z winning_cluster
1         19         21         28        cluster3
2         20         14         24        cluster3
3         34         35         49        cluster3
4         18          5         19        cluster2
5         23         27         35        cluster3
6         33         20         39        cluster3")

averagetable <- read.table(header=TRUE, stringsAsFactors=FALSE, text="
   Group.1  Standing
1 cluster1  0.5642857
2 cluster2  0.7795848
3 cluster3  0.7922980")

averagetable$x <- c("Standing", "Moving/Feeding", "Feeding/Moving")[ rank(-averagetable$Standing) ]
merge(tableresults, averagetable[,c(1,3)], by.x="winning_cluster", by.y="Group.1")
#   winning_cluster ACTIVITY_X ACTIVITY_Y ACTIVITY_Z              x
# 1        cluster2         18          5         19 Moving/Feeding
# 2        cluster3         19         21         28       Standing
# 3        cluster3         20         14         24       Standing
# 4        cluster3         34         35         49       Standing
# 5        cluster3         23         27         35       Standing
# 6        cluster3         33         20         39       Standing

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据另一个数据帧中的值将数据帧的列相乘

来自分类Dev

根据来自另一个数据帧的数据为 Pandas 数据帧中的列赋值

来自分类Dev

根据另一个数据帧中第一个vale的出现,用NA替换数据帧行中的剩余值

来自分类Dev

用来自另一个数据帧的匹配 ID 替换 Pandas 中的单元格值

来自分类Dev

将数据从一个数据帧复制到另一个数据帧,然后根据值替换数据

来自分类Dev

Python Pandas:如何根据条件库中的另一个数组替换数据帧中的值

来自分类Dev

根据另一个数据帧有条件地替换数据帧中的单元

来自分类Dev

根据与另一个数据帧的比较更新数据帧值

来自分类Dev

使用 R 中另一个数据帧的其他匹配 ID 替换数据帧中的值

来自分类Dev

根据R中另一个数据帧中的行为数据帧中的行设置子集

来自分类Dev

根据另一个数据帧的向量中的信息提取列表元素

来自分类Dev

如何用除 NA 之外的另一个数据帧替换数据帧中的所有值?

来自分类Dev

根据另一个数据帧中的多个条件过滤数据帧

来自分类Dev

根据另一个数据帧在R数据帧中创建变量

来自分类Dev

从另一个数据帧的行值中提取数据帧中的特定行值

来自分类Dev

R替换另一个数据帧中的多列值

来自分类Dev

使用另一个数据帧查找数据帧的对应行值

来自分类Dev

根据来自另一个数据帧的因子水平在一个数据帧中组合变量

来自分类Dev

Pandas - 用来自另一个数据帧的值填充一个数据帧的每一行

来自分类Dev

根据匹配的列值将元素从一个数据帧映射到另一个数据帧

来自分类Dev

基于 Python 中另一个数据帧的行值从数据帧中获取列?

来自分类Dev

在另一个数据帧中插入数据帧到行的每个组

来自分类Dev

从与另一个数据帧重叠的数据帧中删除行

来自分类Dev

在R中,如何根据另一个数据帧中的范围对一个数据帧中的值进行分类?

来自分类Dev

根据R中的两个匹配条件,将值从一个数据帧添加到另一个数据帧

来自分类Dev

将值从一个数据帧替换为另一个

来自分类Dev

如果匹配另一个数据帧的 ID,则添加来自 n 个数据帧的值

来自分类Dev

如何根据另一个数据帧中的行条件对一个数据帧的行索引进行矢量化查找

来自分类Dev

从列中的另一个数据帧返回具有不同值的行

Related 相关文章

  1. 1

    根据另一个数据帧中的值将数据帧的列相乘

  2. 2

    根据来自另一个数据帧的数据为 Pandas 数据帧中的列赋值

  3. 3

    根据另一个数据帧中第一个vale的出现,用NA替换数据帧行中的剩余值

  4. 4

    用来自另一个数据帧的匹配 ID 替换 Pandas 中的单元格值

  5. 5

    将数据从一个数据帧复制到另一个数据帧,然后根据值替换数据

  6. 6

    Python Pandas:如何根据条件库中的另一个数组替换数据帧中的值

  7. 7

    根据另一个数据帧有条件地替换数据帧中的单元

  8. 8

    根据与另一个数据帧的比较更新数据帧值

  9. 9

    使用 R 中另一个数据帧的其他匹配 ID 替换数据帧中的值

  10. 10

    根据R中另一个数据帧中的行为数据帧中的行设置子集

  11. 11

    根据另一个数据帧的向量中的信息提取列表元素

  12. 12

    如何用除 NA 之外的另一个数据帧替换数据帧中的所有值?

  13. 13

    根据另一个数据帧中的多个条件过滤数据帧

  14. 14

    根据另一个数据帧在R数据帧中创建变量

  15. 15

    从另一个数据帧的行值中提取数据帧中的特定行值

  16. 16

    R替换另一个数据帧中的多列值

  17. 17

    使用另一个数据帧查找数据帧的对应行值

  18. 18

    根据来自另一个数据帧的因子水平在一个数据帧中组合变量

  19. 19

    Pandas - 用来自另一个数据帧的值填充一个数据帧的每一行

  20. 20

    根据匹配的列值将元素从一个数据帧映射到另一个数据帧

  21. 21

    基于 Python 中另一个数据帧的行值从数据帧中获取列?

  22. 22

    在另一个数据帧中插入数据帧到行的每个组

  23. 23

    从与另一个数据帧重叠的数据帧中删除行

  24. 24

    在R中,如何根据另一个数据帧中的范围对一个数据帧中的值进行分类?

  25. 25

    根据R中的两个匹配条件,将值从一个数据帧添加到另一个数据帧

  26. 26

    将值从一个数据帧替换为另一个

  27. 27

    如果匹配另一个数据帧的 ID,则添加来自 n 个数据帧的值

  28. 28

    如何根据另一个数据帧中的行条件对一个数据帧的行索引进行矢量化查找

  29. 29

    从列中的另一个数据帧返回具有不同值的行

热门标签

归档