嗨,我有以下数据
功能SB国家地区``+1功能``+1 SB`` + 1国家地区 < CHR> < CHR> < CHR> < CHR> < CHR> …
国家地区``+1功能``+1 SB`` + 1国家地区
你可以合作 ftable() 例如:
ftable()
df <- read.table(text = " Function SB 'Country Region' '+1 Function' '+1 SB' '+1 Country Region' ENG SB10 AMER ENG SB10 AMER IT SB07 EMEA IT SB07 EMEA QLT SB05 EMEA QLT SB05 EMEA MFG SB07 EMEA MFG SB07 EMEA MFG SB04 EMEA MFG SB05 EMEA SCM SB08 EMEA SCM SB08 EMEA", stringsAsFactors = FALSE, header = TRUE, check.names = FALSE) foo <- ftable(df, row.vars = c(3, 1, 2), col.vars = c(6, 4, 5)) as.matrix(foo)[apply(foo, 1, function(x) any(x != 0)), apply(foo, 2, function(x) any(x != 0))] # Or simply: as.matrix(foo)[apply(foo, 1, any), apply(foo, 2, any)] # +1 Country Region_+1 Function_+1 SB # Country Region_Function_SB AMER_ENG_SB10 EMEA_IT_SB07 EMEA_MFG_SB05 EMEA_MFG_SB07 EMEA_QLT_SB05 EMEA_SCM_SB08 # AMER_ENG_SB10 1 0 0 0 0 0 # EMEA_IT_SB07 0 1 0 0 0 0 # EMEA_MFG_SB04 0 0 1 0 0 0 # EMEA_MFG_SB07 0 0 0 1 0 0 # EMEA_QLT_SB05 0 0 0 0 1 0 # EMEA_SCM_SB08 0 0 0 0 0 1
与...比较 rpivotTable::rpivotTable(df, rows = c("Country Region", "Function", "SB"), cols = c("+1 Country Region", "+1 Function", "+1 SB")) :
rpivotTable::rpivotTable(df, rows = c("Country Region", "Function", "SB"), cols = c("+1 Country Region", "+1 Function", "+1 SB"))