繁体   English   中英

如何在R中将字符列拆分为多列,然后拆分为二进制?

[英]How to split Character Columns into multiple columns and then into binary in R?

我得到了约4000个观测值的数据集:

It looks like this format:
View(transaction)

CustomerID      Description        
12346           MEDIUM CERAMIC TOP STORAGE JAR 
12347           c("BLACK CANDLEABRA HOLDER","AIRLINE BAG VINTAGE JET SET BROWN", ...)
12348           c("72 SWEETHEART FAIRY CAKE CASES","60 CAKE CASES DOLLY GIRL DESIGN","PACK OF 72 SKULL CAKE CASES",...)
12349           c("PARISIENNE CURIO CABINET","SWEETHEART WALL TIDY",...) 
12350           c("CHOCOLATE THIS WAY METAL SIGN","RETRO MOD TRAY",...)
12352           c("CERAMIC CAKE STAND + HANGING CAKES", WOODEN HAPPY BIRTHDAY GARLAND, ...)

第一步,我希望它看起来像这样:

CustomerID      PRODUCT_1                           PRODUCT_2                              PRODUCT_N   
12346           MEDIUM CERAMIC TOP STORAGE JAR 
12347           BLACK CANDLEABRA HOLDER             AIRLINE BAG VINTAGE JET SET BROWN      ...
12348           72 SWEETHEART FAIRY CAKE CASES"     60 CAKE CASES DOLLY GIRL DESIGN        PACK OF 72 SKULL CAKE CASES
12349           PARISIENNE CURIO CABINET.           SWEETHEART WALL TIDY                   ...
12350           CHOCOLATE THIS WAY METAL SIGN       RETRO MOD TRAY                         ...
12352           CERAMIC CAKE STAND + HANGING CAKES  WOODEN HAPPY BIRTHDAY GARLAND          ... 

我使用cSplit进行了尝试,但是我不知道如何使用此数据集进行此操作。

在最后一步中,我想获得一个像这样的二进制矩阵:

                           MEDIUM CERAMIC TOP STORAGE JAR    BLACK CANDLEABRA HOLDER      AIRLINE BAG VINTAGE JET SET BROWN
 12346                     1                                 0                            0
 12347                     0                                 1                            1
 12348                     0                                 0                            0
 12349                     0                                 0                            0
 12350                     0                                 0                            0
 12352                     0                                 0                            0

如果有人可以解决这个问题,对我会有很大帮助。

非常感谢,

马雷

编辑:

dput(droplevels(head(transactions)))
structure(list(CustomerID = c(12346, 12347, 12348, 12349, 12350, 
12352), Description = structure(list(`0001` = "MEDIUM CERAMIC TOP STORAGE JAR", 
    `0002` = c("BLACK CANDELABRA T-LIGHT HOLDER", "AIRLINE BAG VINTAGE JET SET BROWN", 
    "COLOUR GLASS. STAR T-LIGHT HOLDER", "MINI PAINT SET VINTAGE ", 
    "CLEAR DRAWER KNOB ACRYLIC EDWARDIAN", "PINK DRAWER KNOB ACRYLIC EDWARDIAN", 
    "GREEN DRAWER KNOB ACRYLIC EDWARDIAN", "RED DRAWER KNOB ACRYLIC EDWARDIAN", 
    "PURPLE DRAWERKNOB ACRYLIC EDWARDIAN", "BLUE DRAWER KNOB ACRYLIC EDWARDIAN", 
    "ALARM CLOCK BAKELIKE CHOCOLATE", "ALARM CLOCK BAKELIKE GREEN", 
    "ALARM CLOCK BAKELIKE RED ", "ALARM CLOCK BAKELIKE PINK", 
    "ALARM CLOCK BAKELIKE ORANGE", "FOUR HOOK  WHITE LOVEBIRDS", 
    "BLACK GRAND BAROQUE PHOTO FRAME", "BATHROOM METAL SIGN ", 
    "LARGE HEART MEASURING SPOONS", "BOX OF 6 ASSORTED COLOUR TEASPOONS", 
    "BLUE 3 PIECE POLKADOT CUTLERY SET", "RED 3 PIECE RETROSPOT CUTLERY SET", 
    "PINK 3 PIECE POLKADOT CUTLERY SET", "EMERGENCY FIRST AID TIN ", 
    "SET OF 2 TINS VINTAGE BATHROOM ", "SET/3 DECOUPAGE STACKING TINS", 
    "BOOM BOX SPEAKER BOYS", "RED TOADSTOOL LED NIGHT LIGHT", 
    "3D DOG PICTURE PLAYING CARDS", "BLACK EAR MUFF HEADPHONES", 
    "CAMOUFLAGE EAR MUFF HEADPHONES", "PINK NEW BAROQUECANDLESTICK CANDLE", 
    "BLUE NEW BAROQUE CANDLESTICK CANDLE", "BLACK CANDELABRA T-LIGHT HOLDER", 
    "WOODLAND CHARLOTTE BAG", "AIRLINE BAG VINTAGE JET SET BROWN", 
    "AIRLINE BAG VINTAGE JET SET WHITE", "SANDWICH BATH SPONGE", 
    "ALARM CLOCK BAKELIKE CHOCOLATE", "ALARM CLOCK BAKELIKE GREEN", 
    "ALARM CLOCK BAKELIKE RED ", "ALARM CLOCK BAKELIKE PINK", 
    "ALARM CLOCK BAKELIKE ORANGE", "SMALL HEART MEASURING SPOONS", 
    "72 SWEETHEART FAIRY CAKE CASES", "60 TEATIME FAIRY CAKE CASES", 
    "PACK OF 60 MUSHROOM CAKE CASES", "PACK OF 60 SPACEBOY CAKE CASES", 
    "TEA TIME OVEN GLOVE", "RED RETROSPOT OVEN GLOVE ", "RED RETROSPOT OVEN GLOVE DOUBLE", 
    "SET/2 RED RETROSPOT TEA TOWELS ", "REGENCY CAKESTAND 3 TIER", 
    "BOX OF 6 ASSORTED COLOUR TEASPOONS", "MINI LADLE LOVE HEART RED ", 
    "CHOCOLATE CALCULATOR", "TOOTHPASTE TUBE PEN", "SET OF 2 TINS VINTAGE BATHROOM ", 
    "RED TOADSTOOL LED NIGHT LIGHT", "3D DOG PICTURE PLAYING CARDS", 
    "AIRLINE BAG VINTAGE JET SET WHITE", "AIRLINE BAG VINTAGE JET SET RED", 
    "AIRLINE BAG VINTAGE TOKYO 78", "AIRLINE BAG VINTAGE JET SET BROWN", 
    "RED RETROSPOT PURSE ", "ICE CREAM SUNDAE LIP GLOSS", "VINTAGE HEADS AND TAILS CARD GAME ", 
    "HOLIDAY FUN LUDO", "TREASURE ISLAND BOOK BOX", "WATERING CAN PINK BUNNY", 
    "RED DRAWER KNOB ACRYLIC EDWARDIAN", "LARGE HEART MEASURING SPOONS", 
    "SMALL HEART MEASURING SPOONS", "PACK OF 60 DINOSAUR CAKE CASES", 
    "RED RETROSPOT OVEN GLOVE DOUBLE", "REGENCY CAKESTAND 3 TIER", 
    "ROSES REGENCY TEACUP AND SAUCER ", "RED TOADSTOOL LED NIGHT LIGHT", 
    "MINI PAINT SET VINTAGE ", "3D SHEET OF DOG STICKERS", "3D SHEET OF CAT STICKERS", 
    "SMALL FOLDING SCISSOR(POINTED EDGE)", "GIFT BAG PSYCHEDELIC APPLES", 
    "SET OF 2 TINS VINTAGE BATHROOM ", "RABBIT NIGHT LIGHT", 
    "REGENCY TEA STRAINER", "REGENCY TEA PLATE GREEN ", "REGENCY TEA PLATE PINK", 
    "REGENCY TEA PLATE ROSES ", "REGENCY TEAPOT ROSES ", "REGENCY SUGAR BOWL GREEN", 
    "REGENCY MILK JUG PINK ", "AIRLINE BAG VINTAGE TOKYO 78", 
    "AIRLINE BAG VINTAGE JET SET BROWN", "VICTORIAN SEWING KIT", 
    "NAMASTE SWAGAT INCENSE", "TRIPLE HOOK ANTIQUE IVORY ROSE", 
    "SMALL HEART MEASURING SPOONS", "3D DOG PICTURE PLAYING CARDS", 
    "FEATHER PEN,COAL BLACK", "ALARM CLOCK BAKELIKE RED ", "ALARM CLOCK BAKELIKE CHOCOLATE", 
    "SET OF 60 VINTAGE LEAF CAKE CASES ", "SET 40 HEART SHAPE PETIT FOUR CASES", 
    "AIRLINE BAG VINTAGE JET SET BROWN", "AIRLINE BAG VINTAGE JET SET RED", 
    "AIRLINE BAG VINTAGE JET SET WHITE", "AIRLINE BAG VINTAGE TOKYO 78", 
    "AIRLINE BAG VINTAGE WORLD CHAMPION ", "WOODLAND DESIGN  COTTON TOTE BAG", 
    "WOODLAND CHARLOTTE BAG", "ALARM CLOCK BAKELIKE RED ", "TRIPLE HOOK ANTIQUE IVORY ROSE", 
    "SINGLE ANTIQUE ROSE HOOK IVORY", "TEA TIME OVEN GLOVE", 
    "72 SWEETHEART FAIRY CAKE CASES", "60 TEATIME FAIRY CAKE CASES", 
    "PACK OF 60 DINOSAUR CAKE CASES", "REGENCY CAKESTAND 3 TIER", 
    "REGENCY MILK JUG PINK ", "3D DOG PICTURE PLAYING CARDS", 
    "REVOLVER WOODEN RULER ", "VINTAGE HEADS AND TAILS CARD GAME ", 
    "RED REFECTORY CLOCK ", "MINI LIGHTS WOODLAND MUSHROOMS", 
    "PINK GOOSE FEATHER TREE 60CM", "MADRAS NOTEBOOK MEDIUM", 
    "AIRLINE BAG VINTAGE WORLD CHAMPION ", "AIRLINE BAG VINTAGE JET SET BROWN", 
    "AIRLINE BAG VINTAGE TOKYO 78", "AIRLINE BAG VINTAGE JET SET RED", 
    "BIRDCAGE DECORATION TEALIGHT HOLDER", "CHRISTMAS METAL TAGS ASSORTED ", 
    "REGENCY CAKESTAND 3 TIER", "REGENCY TEAPOT ROSES ", "TEA TIME DES TEA COSY", 
    "TEA TIME KITCHEN APRON", "TEA TIME OVEN GLOVE", "PINK REGENCY TEACUP AND SAUCER", 
    "GREEN REGENCY TEACUP AND SAUCER", "3D DOG PICTURE PLAYING CARDS", 
    "RABBIT NIGHT LIGHT", "RED TOADSTOOL LED NIGHT LIGHT", "TREASURE ISLAND BOOK BOX", 
    "VINTAGE HEADS AND TAILS CARD GAME ", "MINI PLAYING CARDS DOLLY GIRL ", 
    "MINI PLAYING CARDS SPACEBOY ", "PLAYING CARDS KEEP CALM & CARRY ON", 
    "REVOLVER WOODEN RULER ", "WOODEN SCHOOL COLOURING SET", 
    "MINI PAINT SET VINTAGE ", "TRADITIONAL KNITTING NANCY", 
    "TRIPLE HOOK ANTIQUE IVORY ROSE", "PANTRY HOOK SPATULA", 
    "PANTRY HOOK BALLOON WHISK ", "PANTRY HOOK TEA STRAINER ", 
    "ROSES REGENCY TEACUP AND SAUCER ", "ALARM CLOCK BAKELIKE CHOCOLATE", 
    "ALARM CLOCK BAKELIKE PINK", "ALARM CLOCK BAKELIKE GREEN", 
    "ALARM CLOCK BAKELIKE RED ", "PACK OF 60 MUSHROOM CAKE CASES", 
    "PACK OF 60 SPACEBOY CAKE CASES", "SET OF 60 VINTAGE LEAF CAKE CASES ", 
    "60 TEATIME FAIRY CAKE CASES", "72 SWEETHEART FAIRY CAKE CASES", 
    "SMALL HEART MEASURING SPOONS", "LARGE HEART MEASURING SPOONS", 
    "WOODLAND CHARLOTTE BAG", "REGENCY TEA STRAINER", "FOOD CONTAINER SET 3 LOVE HEART ", 
    "CLASSIC CHROME BICYCLE BELL ", "BICYCLE PUNCTURE REPAIR KIT ", 
    "BOOM BOX SPEAKER BOYS", "PINK NEW BAROQUECANDLESTICK CANDLE", 
    "RED TOADSTOOL LED NIGHT LIGHT", "RABBIT NIGHT LIGHT", "WOODLAND CHARLOTTE BAG", 
    "PINK GOOSE FEATHER TREE 60CM", "CHRISTMAS TABLE SILVER CANDLE SPIKE", 
    "MINI PLAYING CARDS SPACEBOY ", "MINI PLAYING CARDS DOLLY GIRL "
    ), `0003` = c("72 SWEETHEART FAIRY CAKE CASES", "60 CAKE CASES DOLLY GIRL DESIGN", 
    "60 TEATIME FAIRY CAKE CASES", "60 TEATIME FAIRY CAKE CASES", 
    "PACK OF 72 SKULL CAKE CASES", "PACK OF 72 SKULL CAKE CASES", 
    "PACK OF 12 LONDON TISSUES ", "PACK OF 12 WOODLAND TISSUES ", 
    "PACK OF 12 SUKI TISSUES ", "SWEETIES  STICKERS", "SET OF 72 SKULL PAPER  DOILIES", 
    "SET OF 72 PINK HEART PAPER DOILIES", "60 CAKE CASES VINTAGE CHRISTMAS", 
    "60 CAKE CASES VINTAGE CHRISTMAS", "PACK OF 60 PINK PAISLEY CAKE CASES", 
    "PACK OF 60 PINK PAISLEY CAKE CASES", "POSTAGE", "PACK OF 12 RED RETROSPOT TISSUES ", 
    "PACK OF 12 HEARTS DESIGN TISSUES ", "MULTI HEARTS  STICKERS", 
    "PACK OF 12 BLUE PAISLEY TISSUES ", "PACK OF 12 SKULL TISSUES", 
    "POSTAGE", "DOUGHNUT LIP GLOSS ", "ICE CREAM PEN LIP GLOSS ", 
    "ICE CREAM SUNDAE LIP GLOSS", "SET OF 9 BLACK SKULL BALLOONS", 
    "POSTAGE", "DOUGHNUT LIP GLOSS ", "ICE CREAM PEN LIP GLOSS ", 
    "POSTAGE"), `0004` = c("PARISIENNE CURIO CABINET", "SWEETHEART WALL TIDY ", 
    "PINK  HEART SHAPE LOVE BUCKET ", "GINGHAM HEART  DOORSTOP RED", 
    "RED HEART SHAPE LOVE BUCKET ", "FOOD CONTAINER SET 3 LOVE HEART ", 
    "LARGE HEART MEASURING SPOONS", "DOORMAT HEARTS", "HANGING HEART JAR T-LIGHT HOLDER", 
    "BROCANTE SHELF WITH HOOKS", "PLASTERS IN TIN VINTAGE PAISLEY ", 
    "PANTRY MAGNETIC  SHOPPING LIST", "RECIPE BOX PANTRY YELLOW DESIGN", 
    "SET OF 3 CAKE TINS PANTRY DESIGN ", "JAM MAKING SET WITH JARS", 
    "SET OF 6 SPICE TINS PANTRY DESIGN", "PANTRY CHOPPING BOARD", 
    "DOORMAT WELCOME TO OUR HOME", "16 PIECE CUTLERY SET PANTRY DESIGN", 
    "SMALL WHITE RETROSPOT MUG IN BOX ", "BLACK/BLUE POLKADOT UMBRELLA", 
    "20 DOLLY PEGS RETROSPOT", "SET/4 WHITE RETRO STORAGE CUBES ", 
    "REGENCY CAKESTAND 3 TIER", "SET/5 RED RETROSPOT LID GLASS BOWLS", 
    "DOORMAT RED RETROSPOT", "SET/6 RED SPOTTY PAPER CUPS", "RED RETROSPOT SMALL MILK JUG", 
    "RED RETROSPOT SUGAR JAM BOWL", "RETROSPOT LARGE MILK JUG", 
    "SMALL RED RETROSPOT MUG IN BOX ", "RAIN PONCHO RETROSPOT", 
    "RED RETROSPOT UMBRELLA", "PLASTERS IN TIN SKULLS", "GLASS  SONGBIRD STORAGE JAR", 
    "SET OF 12 FAIRY CAKE BAKING CASES", "SET OF 6 TEA TIME BAKING CASES", 
    "SET OF 6 SNACK LOAF BAKING CASES", "WRAP RED VINTAGE DOILY", 
    "SET OF 12 MINI LOAF BAKING CASES", "STORAGE TIN VINTAGE DOILY ", 
    "SET OF 4 KNICK KNACK TINS DOILY ", "DOORMAT VINTAGE LEAF", 
    "ROUND SNACK BOXES SET OF4 WOODLAND ", "PLASTERS IN TIN WOODLAND ANIMALS", 
    "PLASTERS IN TIN STRONGMAN", "RETROSPOT PARTY BAG + STICKER SET", 
    "VINTAGE DOILY TRAVEL SEWING KIT", "VINTAGE DOILY DELUXE SEWING KIT ", 
    "CLASSIC CHROME BICYCLE BELL ", "EMBROIDERED RIBBON REEL SALLY ", 
    "PAINTED METAL PEARS ASSORTED", "WRAP RED APPLES ", "CHRISTMAS RETROSPOT ANGEL WOOD", 
    "SET OF 3 WOODEN HEART DECORATIONS", "HEART T-LIGHT HOLDER WILLIE WINKIE", 
    "HAND WARMER RED LOVE HEART", "ZINC FOLKART SLEIGH BELLS", 
    "PLASTERS IN TIN CIRCUS PARADE ", "ENGLISH ROSE SPIRIT LEVEL ", 
    "SET OF 10 LED DOLLY LIGHTS", "FRENCH ENAMEL CANDLEHOLDER", 
    "GROW YOUR OWN BASIL IN ENAMEL MUG", "ENAMEL WATERING CAN CREAM", 
    "DOORMAT ENGLISH ROSE ", "CERAMIC STRAWBERRY DESIGN MUG", 
    "SWEETHEART CERAMIC TRINKET BOX", "STRAWBERRY CERAMIC TRINKET POT", 
    "PINK DOUGHNUT TRINKET POT ", "CERAMIC CAKE DESIGN SPOTTED MUG", 
    "TEA TIME TEAPOT IN GIFT BOX", "DOORMAT FAIRY CAKE", "POSTAGE"
    ), `0005` = c("CHOCOLATE THIS WAY METAL SIGN", "METAL SIGN NEIGHBOURHOOD WITCH ", 
    "RETRO MOD TRAY", "RETRO PLASTIC ELEPHANT TRAY", "TEA BAG PLATE RED RETROSPOT", 
    "PINK/PURPLE RETRO RADIO", "PLASTERS IN TIN SPACEBOY", "PLASTERS IN TIN VINTAGE PAISLEY ", 
    "CHOCOLATE CALCULATOR", "RED  HARMONICA IN BOX ", "4 TRADITIONAL SPINNING TOPS", 
    "BATHROOM METAL SIGN ", "POSTAGE", "UNION JACK FLAG PASSPORT COVER ", 
    "UNION JACK FLAG LUGGAGE TAG", "BLUE POLKADOT LUGGAGE TAG ", 
    "BLUE POLKADOT PASSPORT COVER"), `0006` = c("WOODEN HAPPY BIRTHDAY GARLAND", 
    "PINK DOUGHNUT TRINKET POT ", "STRAWBERRY CERAMIC TRINKET BOX", 
    "CERAMIC STRAWBERRY CAKE MONEY BANK", "WOODEN OWLS LIGHT GARLAND ", 
    "REGENCY CAKESTAND 3 TIER", "DELUXE SEWING KIT ", "WELCOME  WOODEN BLOCK LETTERS", 
    "LOVE BUILDING BLOCK WORD", "BATH BUILDING BLOCK WORD", "HOME BUILDING BLOCK WORD", 
    "CAT BOWL VINTAGE CREAM", "BIG DOUGHNUT FRIDGE MAGNETS", 
    "DOLLY GIRL LUNCH BOX", "LIGHT GARLAND BUTTERFILES PINK", 
    "POSTAGE", "DELUXE SEWING KIT ", "PINK HEART SHAPE EGG FRYING PAN", 
    "BAKING SET 9 PIECE RETROSPOT ", "VINTAGE CREAM DOG FOOD CONTAINER", 
    "Manual", "Manual", "Manual", "CERAMIC HEART FAIRY CAKE MONEY BANK", 
    "CERAMIC CAKE DESIGN SPOTTED MUG", "BLUE HARMONICA IN BOX ", 
    "PINK DOG BOWL", "PINK HEART SHAPE EGG FRYING PAN", "LANTERN CREAM GAZEBO ", 
    "METAL SIGN TAKE IT OR LEAVE IT ", "POSTAGE", "PINK HEART SHAPE EGG FRYING PAN", 
    "CERAMIC CAKE DESIGN SPOTTED MUG", "LANTERN CREAM GAZEBO ", 
    "PINK DOG BOWL", "CERAMIC HEART FAIRY CAKE MONEY BANK", "METAL SIGN TAKE IT OR LEAVE IT ", 
    "BLUE HARMONICA IN BOX ", "ANTIQUE GLASS PEDESTAL BOWL", 
    "PANTRY MAGNETIC  SHOPPING LIST", "PANTRY SCRUBBING BRUSH", 
    "SET OF 3 REGENCY CAKE TINS", "SMALL GLASS HEART TRINKET POT", 
    "DOORMAT WELCOME TO OUR HOME", "SET OF 4 PANTRY JELLY MOULDS", 
    "PANTRY WASHING UP BRUSH", "BAKING SET SPACEBOY DESIGN", 
    "IVORY KITCHEN SCALES", "SET OF 3 CAKE TINS PANTRY DESIGN ", 
    "REGENCY CAKESTAND 3 TIER", "WOODEN OWLS LIGHT GARLAND ", 
    "LIGHT GARLAND BUTTERFILES PINK", "FAIRY CAKE BIRTHDAY CANDLE SET", 
    "SPOTTY BUNTING", "SET OF 4 ENGLISH ROSE COASTERS", "POSTAGE", 
    "OPEN CLOSED METAL SIGN", "SET OF 6 SPICE TINS PANTRY DESIGN", 
    "SET OF 3 REGENCY CAKE TINS", "RED TOADSTOOL LED NIGHT LIGHT", 
    "CHILDS BREAKFAST SET DOLLY GIRL ", "CHILDS BREAKFAST SET SPACEBOY ", 
    "SET OF 3 CAKE TINS PANTRY DESIGN ", "SET OF TEA COFFEE SUGAR TINS PANTRY", 
    "LOVE BUILDING BLOCK WORD", "HOLIDAY FUN LUDO", "BATH BUILDING BLOCK WORD", 
    "WOODEN OWLS LIGHT GARLAND ", "LIGHT GARLAND BUTTERFILES PINK", 
    "POSTAGE", "PETIT TRAY CHIC", "PANTRY ROLLING PIN", "PANTRY PASTRY BRUSH", 
    "WOODLAND BUNNIES LOLLY MAKERS", "PINK BABY BUNTING", "MINT KITCHEN SCALES", 
    "SET 12 COLOUR PENCILS SPACEBOY ", "ZINC HEART FLOWER T-LIGHT HOLDER", 
    "VICTORIAN GLASS HANGING T-LIGHT", "IVORY KITCHEN SCALES", 
    "GLASS BON BON JAR", "BLUE STRIPE CERAMIC DRAWER KNOB", "SET 12 COLOUR PENCILS DOLLY GIRL ", 
    "CHILDS BREAKFAST SET DOLLY GIRL ", "POSTAGE")), .Names = c("0001", 
"0002", "0003", "0004", "0005", "0006"))), .Names = c("CustomerID", 
"Description"), row.names = c(NA, 6L), class = "data.frame")

我们可以尝试使用unnest使list列的元素排成一行,然后在创建序列列('ind')之后spread其展开为宽格式

library(tidyr)
library(dplyr)
res <- unnest(transactions, Description) %>% 
          group_by(CustomerID) %>% 
          mutate(ind = paste0("PRODUCT", row_number())) %>%
          spread(ind, Description)

要获得问题的第二部分,请使用mtabulateqdapTools

library(qdapTools)
res2 <- setNames(as.data.frame(t(res[-1])), res[[1]]) %>%
                                   mtabulate

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM