代码之家  ›  专栏  ›  技术社区  ›  Adam_G

使用时保留字符列prop.table

r
  •  1
  • Adam_G  · 技术社区  · 6 年前

    假设我有这样一个数据帧:

    data <- data.frame(
      sent = letters[1:5],
      n.x = abs(rnorm(5)),
      n.y = abs(rnorm(5))
    )
    

    如果我强迫它变成矩阵,然后使用 prop.table :

    prop.table(data.matrix(data), 2)
    

    我得到以下信息:

               sent       n.x       n.y
    [1,] 0.06666667 0.0948657 0.1665655
    [2,] 0.13333333 0.1042308 0.2598814
    [3,] 0.20000000 0.3516696 0.2230854
    [4,] 0.26666667 0.2617903 0.1438551
    [5,] 0.33333333 0.1874436 0.2066125
    

    如何保持第一列作为字符向量?

    1 回复  |  直到 6 年前
        1
  •  2
  •   HAVB    6 年前

    如果我理解正确的话,你真正想要的是

    data <- data.frame(
        sent = letters[1:5],
        n.x = abs(rnorm(5)),
        n.y = abs(rnorm(5))
    )
    
    cbind(data[1], prop.table(data.matrix(data[-1]), 2))
    
      sent          n.x        n.y
    1    a 0.0004247739 0.17667990
    2    b 0.1748003178 0.30665196
    3    c 0.1361206704 0.17707674
    4    d 0.6359362530 0.25927624
    5    e 0.0527179849 0.08031516