为名称分配编号

时间:2018-05-21 15:31:47

标签: r assign

我有两张桌子。其中一个包含四列,第一列是名称,其他三列是数字。我想将数字的平均值分配给名称。

ID   number_1  number_2  number_3
A01  13        11        12
A02  18        16        17
......

第二个表的列包含第一个表中的名称,我想用名称的平均值替换名称。例如:

v1  v2  v3  ......
8   5   A01 ......
6   3   A02 ......

替换名称以便我得到:

v1  v2  v3  ......
8   5   12  ......
6   3   17  ......

我不知道该怎么做。希望你能理解我的问题。

1 个答案:

答案 0 :(得分:1)

假设您的两个表都是数据帧并且它们具有相同的顺序(即A01,A02等)

df1 <- read.table(text = "ID   number_1  number_2  number_3
                         A01  13        11        12
                         A02  18        16        17",
                 header = T)

df2 <- read.table(text = "v1  v2  v3
                          8   5   A01
                          6   3   A02", 
                  header = T)

df1means <- rowMeans(df1[2:4])

df2$v3 <- df1means

df2

#    v1 v2 v3
# 1  8  5  12
# 2  6  3  17