【问题标题】:columns that gives Cumulative sum for different types of variables with the help of r在 r 的帮助下为不同类型的变量提供累积和的列
【发布时间】:2017-11-03 18:32:29
【问题描述】:

我有一个看起来像这样的数据

    structure(c("Manufacturing Excell", "NPI Efficiencies", "NPI Efficiencies", 
"Manufacturing Excell", "Manufacturing Excell", "Material Efficiencie", 
"NPI Efficiencies", "Manufacturing Excell", "NPI Efficiencies", 
"NPI Efficiencies", "NPI Efficiencies", "Material Efficiencie", 
"NPI Efficiencies", "NPI Efficiencies", "Manufacturing Excell", 
"Manufacturing Excell", "NPI Efficiencies", "NPI Efficiencies", 
"NPI Efficiencies", "NPI Efficiencies", "Material Efficiencie", 
"NPI Efficiencies", "NPI Efficiencies", "NPI Efficiencies", "Manufacturing Excell", 
"NPI Efficiencies", "NPI Efficiencies", "Manufacturing Excell", 
"Manufacturing Excell", "Manufacturing Excell", "Manufacturing Excell", 
"NPI Efficiencies", "Manufacturing Excell", "Material Efficiencie", 
"Manufacturing Excell", "Manufacturing Excell", "NPI Efficiencies", 
"Manufacturing Excell", "Manufacturing Excell", "Manufacturing Excell", 
"NPI Efficiencies", "NPI Efficiencies", "Material Efficiencie", 
"NPI Efficiencies", "Manufacturing Excell", "NPI Efficiencies", 
"Manufacturing Excell", "NPI Efficiencies", "Manufacturing Excell", 
"Manufacturing Excell", "Manufacturing Excell", "NPI Efficiencies", 
"NPI Efficiencies", "Manufacturing Excell", "NPI Efficiencies", 
"NPI Efficiencies", "Manufacturing Excell", "Manufacturing Excell", 
"NPI Efficiencies", "NPI Efficiencies", "NPI Efficiencies", "NPI Efficiencies", 
"NPI Efficiencies", "NPI Efficiencies", "NPI Efficiencies", "Material Efficiencie", 
"NPI Efficiencies", "NPI Efficiencies", "NPI Efficiencies", "NPI Efficiencies", 
"Manufacturing Excell", "Manufacturing Excell", "Material Efficiencie", 
"NPI Efficiencies", "NPI Efficiencies", "Material Efficiencie", 
"Material Efficiencie", "NPI Efficiencies", "NPI Efficiencies", 
"Manufacturing Excell", "NPI Efficiencies", "NPI Efficiencies", 
"NPI Efficiencies", "Material Efficiencie", "NPI Efficiencies", 
"Material Efficiencie", "Manufacturing Excell", "Material Efficiencie", 
"NPI Efficiencies", "Manufacturing Excell", "Material Efficiencie", 
"NPI Efficiencies", "NPI Efficiencies", "NPI Efficiencies", "Manufacturing Excell", 
"Manufacturing Excell", "NPI Efficiencies", "Manufacturing Excell", 
"Material Efficiencie", "NPI Efficiencies", "Material Efficiencie", 
"NPI Efficiencies", "NPI Efficiencies", "Manufacturing Excell", 
"NPI Efficiencies", "NPI Efficiencies", "NPI Efficiencies", "NPI Efficiencies", 
"Manufacturing Excell", "Material Efficiencie", "Material Efficiencie", 
"Manufacturing Excell", "Material Efficiencie", "Manufacturing Excell", 
"Manufacturing Excell", "NPI Efficiencies", "NPI Efficiencies", 
"NPI Efficiencies", "Manufacturing Excell", "Material Efficiencie", 
"NPI Efficiencies", "NPI Efficiencies", "NPI Efficiencies", "NPI Efficiencies", 
"NPI Efficiencies", "NPI Efficiencies", "NPI Efficiencies", "Manufacturing Excell", 
"Manufacturing Excell", "NPI Efficiencies", "NPI Efficiencies", 
"NPI Efficiencies", "NPI Efficiencies", "NPI Efficiencies", "Manufacturing Excell", 
"NPI Efficiencies", "NPI Efficiencies", "NPI Efficiencies", "NPI Efficiencies", 
"Manufacturing Excell", "NPI Efficiencies", "Manufacturing Excell", 
"NPI Efficiencies", "Material Efficiencie", "NPI Efficiencies", 
"NPI Efficiencies", "Manufacturing Excell", "Manufacturing Excell", 
"Manufacturing Excell", "NPI Efficiencies", "NPI Efficiencies", 
"Material Efficiencie", "Material Efficiencie", "Material Efficiencie", 
"Material Efficiencie", "NPI Efficiencies", "NPI Efficiencies", 
"Manufacturing Excell", "Manufacturing Excell", "Manufacturing Excell", 
"Manufacturing Excell", "Manufacturing Excell", "Manufacturing Excell", 
"NPI Efficiencies", "NPI Efficiencies", "NPI Efficiencies", "Manufacturing Excell", 
"Manufacturing Excell", "Material Efficiencie", "NPI Efficiencies", 
"NPI Efficiencies", "28859", "15134", "29429", "14214", "37988", 
"15328", "42679", "46206", "43311", "8158", "29937", "6021", 
"5581", "44627", "36779", "15888", "20088", "42170", "11560", 
"16401", "30293", "27682", "44574", "20240", "10176", "45920", 
"40615", "28510", "23527", "35717", "12608", "30585", "1344", 
"30179", "38589", "18135", "32662", "577", "47836", "36944", 
"8946", "36730", "6499", "47177", "31564", "17612", "19799", 
"43469", "780", "29003", "729", "39209", "8237", "12442", "40877", 
"45338", "44977", "2081", "47886", "19948", "38960", "27127", 
"33186", "36972", "29774", "24197", "47513", "21171", "10992", 
"2630", "39740", "38639", "8373", "7932", "44641", "8877", "4256", 
"47425", "4972", "11793", "48437", "15102", "30181", "23058", 
"27086", "11750", "32797", "33320", "42980", "2712", "3360", 
"18773", "34625", "48207", "18044", "16727", "36327", "38051", 
"39081", "35858", "11747", "32221", "45342", "25444", "27538", 
"3725", "29636", "37667", "24387", "43088", "49972", "39308", 
"17497", "26198", "42199", "20640", "26455", "42792", "36511", 
"16867", "34142", "10629", "15415", "38989", "24381", "45988", 
"19603", "40886", "16616", "13004", "8370", "34725", "17915", 
"29838", "38500", "10620", "45602", "11911", "38119", "308", 
"37473", "17560", "14887", "30872", "7622", "20169", "38494", 
"12728", "14816", "37183", "18602", "157", "49615", "12902", 
"31344", "15606", "30386", "49746", "26466", "19784", "9326", 
"33639", "25323", "31404", "20045", "45788", "49454", "13271", 
"44675", "44926", "33041"), .Dim = c(171L, 2L))

现在我想做的是创建 3 个不同的列,这为我提供了材料效率、NPI 效率和制造 Excel 方面的累积节省。有没有办法做到这一点。我所说的列是指针对不同储蓄类型的 3 个不同列。

【问题讨论】:

    标签: r sorting subset cumulative-sum


    【解决方案1】:

    一个选项是`

    library(stringi)
    stri_list2matrix(split(m1[,2], m1[,1]))
    

    base R

    lst <- lapply(split(m1[,2], m1[,1]), as.numeric)
    d1 <- data.frame(lapply(lst, `length<-`, max(lengths(lst))))
    d1
    #   Manufacturing.Excell Material.Efficiencie NPI.Efficiencies
    #1                24387                 8877            44574
    #2                   NA                   NA            19603
    #3                   NA                   NA            29838
    #4                   NA                   NA            20169
    

    如果我们需要累积和

    d1[] <- lapply(d1, function(x) cumsum(replace(x, is.na(x), 0)))
    d1
    #  Manufacturing.Excell Material.Efficiencie NPI.Efficiencies
    #1                24387                 8877            44574
    #2                24387                 8877            64177
    #3                24387                 8877            94015
    #4                24387                 8877           114184
    

    【讨论】:

      猜你喜欢
      • 2017-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-23
      • 1970-01-01
      相关资源
      最近更新 更多