【问题标题】:Make a new data frame and rearrangement in R [duplicate]在R中创建一个新的数据框并重新排列[重复]
【发布时间】:2021-06-01 18:19:53
【问题描述】:

希望你们一切都好。在这里,我来寻求解决方案。我正在尝试重新排列我的数据表。我的数据表格式如下

Family   Guild  XY  AB  CD
Fam1      I     25  0   7
Fam2      I     0   12  0
Fam2      F     0   0   5
Fam3      G    134  0  124

首先,我想将新的数据框制作成以下格式

family Guild   XY   AB   CD  Total  Freq  
Fam1     I     25    0    7    32
Fam2     I     0    12    0    12
Fam2     F     0     0    5     5
Fam3     G    134    0  124    258

【问题讨论】:

    标签: r data-manipulation


    【解决方案1】:

    我们可以使用rowSums

    transform(
      df,
      Freq = rowSums(cbind(XY, AB, CD))
    )
    

    或(感谢@Onyambu 的评论)

    transform(df,  Freq =XY+ AB+ CD)
    

    df$Freq <- rowSums(df[-c(1:2)])
    

    给了

      Family Guild  XY AB  CD Freq
    1   Fam1     I  25  0   7   32
    2   Fam2     I   0 12   0   12
    3   Fam2     F   0  0   5    5
    4   Fam3     G 134  0 124  258
    

    【讨论】:

    • transform(df, Freq =XY+ AB+ CD) 也应该可以工作
    • @Onyambu 是的,没错!
    猜你喜欢
    • 1970-01-01
    • 2018-09-04
    • 2013-07-03
    • 2012-10-01
    • 1970-01-01
    • 2018-11-27
    • 2021-11-10
    • 2018-07-18
    相关资源
    最近更新 更多