【问题标题】:Assign number to names为名称分配编号
【发布时间】:2018-10-31 07:14:47
【问题描述】:

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

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  ......

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

【问题讨论】:

    标签: r assign


    【解决方案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
    

    【讨论】:

    • 应该是df1[2:4]
    • 他们没有相同的顺序。
    猜你喜欢
    • 1970-01-01
    • 2022-10-01
    • 2021-03-05
    • 1970-01-01
    • 2012-07-31
    • 1970-01-01
    • 2020-01-24
    • 2013-05-12
    • 1970-01-01
    相关资源
    最近更新 更多