如何用第二个表R中的变量替换变量?

Yunzhe Liu

我有这样的桌子

Timeline1 Timeline2 Timeline3 
  v3       v7       v11
  v4       v1       v12
  v6       v8       v13
  v2       v9       v17  
  v5       v10      v16

df1<- structure(list(Timeline1 = structure(c(2L, 3L, 5L, 1L, 4L), .Label = c("v2", 
"v3", "v4", "v5", "v6"), class = "factor"), Timeline2 = structure(c(3L, 
1L, 4L, 5L, 2L), .Label = c("v1", "v10", "v7", "v8", "v9"), class = "factor"), 
    Timeline3 = structure(c(1L, 2L, 3L, 5L, 4L), .Label = c("v11", 
    "v12", "v13", "v16", "v17"), class = "factor")), .Names = c("Timeline1", 
"Timeline2", "Timeline3"), class = "data.frame", row.names = c(NA, 
-5L))

我有一张清单表

Name    Meaning
v1         C
v2         D
v3         R
v4         T
v5         Y
v6         W
v7         Q
v8         A
v9         Z
v10        X
v11        V
v12        B
v13        N
v14        J
v15        L
v16        O
v17        P
V18        U
V19        F

数据框可以在下面找到

df2 <- structure(list(Name = structure(c(1L, 12L, 13L, 14L, 15L, 16L, 
17L, 18L, 19L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L), .Label = c("v1", 
"v10", "v11", "v12", "v13", "v14", "v15", "v16", "v17", "V18", 
"V19", "v2", "v3", "v4", "v5", "v6", "v7", "v8", "v9"), class = "factor"), 
    Meaning = structure(c(3L, 4L, 12L, 13L, 18L, 16L, 11L, 1L, 
    19L, 17L, 15L, 2L, 8L, 6L, 7L, 9L, 10L, 14L, 5L), .Label = c("A", 
    "B", "C", "D", "F", "J", "L", "N", "O", "P", "Q", "R", "T", 
    "U", "V", "W", "X", "Y", "Z"), class = "factor")), .Names = c("Name", 
"Meaning"), class = "data.frame", row.names = c(NA, -19L))

我想使用清单中显示的值替换第一个表,最终输出可能会像这样

Timeline1 Timeline2 Timeline3 
  R         Q          V
  T         C          B
  W         A          N
  D         Z          P  
  Y         X          O
阿克伦

我们可以使用match将第一个数据集转换为,matrixmatch使用'df2'的'Name'列将其转换为数字索引,并在此基础上获得相应的'Meaning'元素并将输出分配给'df1'

df1[] <- df2$Meaning[match(as.matrix(df1), df2$Name)]
df1
#  Timeline1 Timeline2 Timeline3
#1         R         Q         V
#2         T         C         B
#3         W         A         N
#4         D         Z         P
#5         Y         X         O

或者我们可以使用mutate_eachdplyr我们match每个“名称”列,并与相应的“意义”元素替换它。

library(dplyr)
df1 %>%
     mutate_each(funs(df2$Meaning[match(., df2$Name)]))
#      Timeline1 Timeline2 Timeline3
#1         R         Q         V
#2         T         C         B
#3         W         A         N
#4         D         Z         P
#5         Y         X         O

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何用与第二个数据帧中的行匹配的两个变量标记行?[R

来自分类Dev

频率表,其中第二个变量为R中的“分析权重”

来自分类Dev

用第二个参数替换()作为变量?

来自分类Dev

根据2个变量值从第二个表中获取值

来自分类Dev

如何从第二个窗口访问 MainWindow 的变量

来自分类Dev

将函数应用于列表,然后遍历r中的第二个变量

来自分类Dev

如何用第二个JFrame替换应用程序中的第一个JFrame?

来自分类Dev

如何从表中查找第二个值。

来自分类Dev

熊猫左联接-如何用NaN替换第二个df中不存在的值

来自分类Dev

如何将表条目与R中第二个表的列表条目匹配?

来自分类Dev

如何用awk / sed替换字符串的第二个实例

来自分类Dev

如何联接两个表并将第二个表中的null替换为零

来自分类Dev

仅当变量小于第二个变量时才在bash中执行操作

来自分类Dev

如何使用XSLT中第二个xml输入中的变量修改一个xml输入?

来自分类Dev

scanf不会为第二个变量赋值

来自分类Dev

变量不传递给第二个php

来自分类Dev

javascript:修改第二个变量首先修改

来自分类Dev

如何将第二个变量从route.php传递到Laravel 5中的控制器?

来自分类Dev

如何声明全局变量以从任务管理器中杀死第二个 EXCEL.EXE

来自分类Dev

米特。如何将线程中每个用户生成的变量传递给第二个线程用户?

来自分类Dev

替换列表中的每个第二个元素

来自分类Dev

替换R中第一个出现的“:”,而不是第二个

来自分类Dev

Javascript:如果对象具有匹配的键,如何用第二个对象中的值替换第一个对象的值

来自分类Dev

SWIFT:创建第二个ViewController时,如何从原始ViewController访问变量

来自分类Dev

如何将第二个变量添加到简单的javascript函数?

来自分类Dev

如何在第二个嵌套的while循环中使变量值可用?

来自分类Dev

不使用输入的第二个变量在angularjs中动态填充orderby

来自分类Dev

为什么在Laravel中在href上传递第二个变量非常灵活?

来自分类Dev

访问在第二个线程的主线程中定义的变量?

Related 相关文章

  1. 1

    如何用与第二个数据帧中的行匹配的两个变量标记行?[R

  2. 2

    频率表,其中第二个变量为R中的“分析权重”

  3. 3

    用第二个参数替换()作为变量?

  4. 4

    根据2个变量值从第二个表中获取值

  5. 5

    如何从第二个窗口访问 MainWindow 的变量

  6. 6

    将函数应用于列表,然后遍历r中的第二个变量

  7. 7

    如何用第二个JFrame替换应用程序中的第一个JFrame?

  8. 8

    如何从表中查找第二个值。

  9. 9

    熊猫左联接-如何用NaN替换第二个df中不存在的值

  10. 10

    如何将表条目与R中第二个表的列表条目匹配?

  11. 11

    如何用awk / sed替换字符串的第二个实例

  12. 12

    如何联接两个表并将第二个表中的null替换为零

  13. 13

    仅当变量小于第二个变量时才在bash中执行操作

  14. 14

    如何使用XSLT中第二个xml输入中的变量修改一个xml输入?

  15. 15

    scanf不会为第二个变量赋值

  16. 16

    变量不传递给第二个php

  17. 17

    javascript:修改第二个变量首先修改

  18. 18

    如何将第二个变量从route.php传递到Laravel 5中的控制器?

  19. 19

    如何声明全局变量以从任务管理器中杀死第二个 EXCEL.EXE

  20. 20

    米特。如何将线程中每个用户生成的变量传递给第二个线程用户?

  21. 21

    替换列表中的每个第二个元素

  22. 22

    替换R中第一个出现的“:”,而不是第二个

  23. 23

    Javascript:如果对象具有匹配的键,如何用第二个对象中的值替换第一个对象的值

  24. 24

    SWIFT:创建第二个ViewController时,如何从原始ViewController访问变量

  25. 25

    如何将第二个变量添加到简单的javascript函数?

  26. 26

    如何在第二个嵌套的while循环中使变量值可用?

  27. 27

    不使用输入的第二个变量在angularjs中动态填充orderby

  28. 28

    为什么在Laravel中在href上传递第二个变量非常灵活?

  29. 29

    访问在第二个线程的主线程中定义的变量?

热门标签

归档