我有3835个观测值:
tramp [sample(nrow(tramp),40),]
A B C
2313 Polyodon spathula Aci_CR_R02 0
3544 Scaphirhynchus platorynchus Aci_CR_R04 0
1518 Acipenser gueldenstaedtii Aci_CR_R05 3
1307 Acipenser stellatus donensis Aci_CR_R05 0
2586 Acipenser ruthenus Aci_CR_R02 0
996 Acipenser ruthenus Aci_CR_R06 0
37 Acipenser baerii Aci_CR_R01 0
1310 Acipenser stellatus donensis Aci_CR_R05 0
3205 Acipenser ruthenus Aci_CR_R04 0
598 Acipenser persicus Aci_CR_R03 0
1883 Acipenser gueldenstaedtii colchicus Aci_CR_F02 0
2258 Acipenser sinensis Aci_CR_F01b 0
604 Acipenser schrenckii Aci_CR_R03 0
2475 Acipenser ruthenus Aci_CR_R02 0
2630 Acipenser baerii Aci_CR_R02 0
1433 Acipenser baerii Aci_CR_R05 3
1857 Acipenser baerii stenorrhynchus Aci_CR_F02 1
1913 Acipenser naccarii Aci_CR_F02 0
3395 Acipenser gueldenstaedtii Aci_CR_R04 0
3372 Huso dauricus Aci_CR_R04 0
919 Acipenser baerii Aci_CR_R06 0
3157 Acipenser baerii baicalensis Aci_CR_R04 0
848 Acipenser stellatus ponticus Aci_CR_R06 0
1762 Acipenser naccarii Aci_CR_F02 1
323 Pseudoscaphirhynchus kaufmanni Aci_CR_R01 1
2860 Acipenser transmontanus Aci_CR_R02 0
1423 Acipenser baerii Aci_CR_R05 3
478 Acipenser stellatus ponticus Aci_CR_R03 0
834 Acipenser stellatus donensis Aci_CR_R06 0
3199 Acipenser ruthenus Aci_CR_R04 0
1141 Acipenser sinensis Aci_CR_R06 1
1535 Acipenser gueldenstaedtii Aci_CR_R05 3
3402 Acipenser gueldenstaedtii Aci_CR_R04 0
344 Scaphirhynchus platorynchus Aci_CR_R01 2
2422 Acipenser stellatus ponticus Aci_CR_R02 0
648 Acipenser gueldenstaedtii Aci_CR_R03 0
1466 Acipenser naccarii Aci_CR_R05 3
2279 Acipenser brevirostrum Aci_CR_F01b 0
2450 Acipenser baerii stenorrhynchus Aci_CR_R02 0
2067 Acipenser ruthenus Aci_CR_F02 3
glimpse(tramp)
Observations: 3,835
Variables: 3
$ A <fct> Acipenser fulvescens, Acipenser fulvescens, Acipenser brevirostrum, Acipenser brevi...
$ B <fct> Aci_CR_R01, Aci_CR_R01, Aci_CR_R01, Aci_CR_R01, Aci_CR_R01, Aci_CR_R01, Aci_CR_R01,...
$ C <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,...
>
我将dcast与mutate_at结合使用:
ramp<-dcast(data = tramp, B~A, value.var = "C",mean)
newdata <- ramp %>% mutate_at(vars(2:40), funs(round(.,2)))
这个方法似乎是真实的,但是我得到一些奇数列,如下所示,其中小数位数不是指定的2
这是怎么了?在清理数据之前,我还得到了很多“ Na”,而不仅仅是NaN
根据要求:
dput(tramp[sample(nrow(tramp), 80), ])
structure(list(A = structure(c(31L, 23L, 27L, 1L, 32L, 23L, 31L,
10L, 25L, 5L, 38L, 1L, 33L, 44L, 5L, 48L, 6L, 4L, 23L, 31L, 44L,
25L, 41L, 9L, 1L, 25L, 23L, 38L, 41L, 16L, 23L, 44L, 9L, 27L,
23L, 5L, 31L, 31L, 40L, 1L, 10L, 31L, 1L, 45L, 35L, 49L, 35L,
10L, 48L, 49L, 38L, 1L, 1L, 5L, 10L, 48L, 19L, 32L, 43L, 44L,
35L, 45L, 39L, 45L, 1L, 17L, 27L, 23L, 48L, 10L, 17L, 35L, 1L,
1L, 5L, 9L, 19L, 32L, 10L, 31L), .Label = c("Acipenser baerii",
"Acipenser baerii baerii", "Acipenser baerii baicalensis", "Acipenser baerii stenorrhynchus",
"Acipenser brevirostrum", "Acipenser dabryanus", "Acipenser dabryanus x Acipenser schrenckii",
"Acipenser dabryanus x Acipenser sinensis", "Acipenser fulvescens",
"Acipenser gueldenstaedtii", "Acipenser gueldenstaedtii colchicus",
"Acipenser gueldenstaedtii gueldenstaedtii", "Acipenser gueldenstaedtii x Acipenser baerii",
"Acipenser medirostris", "Acipenser mikadoi", "Acipenser naccarii",
"Acipenser nudiventris", "Acipenser oxyrinchus", "Acipenser oxyrinchus desotoi",
"Acipenser oxyrinchus oxyrinchus", "Acipenser persicus", "Acipenser persicus persicus",
"Acipenser ruthenus", "Acipenser ruthenus x Huso huso", "Acipenser schrenckii",
"Acipenser schrenckii x Huso dauricus", "Acipenser sinensis",
"Acipenser sp. JNY", "Acipenser sp. PD", "Acipenser stellatus",
"Acipenser stellatus donensis", "Acipenser stellatus ponticus",
"Acipenser stellatus stellatus", "Acipenser sturio", "Acipenser transmontanus",
"Huso dauricus", "Huso dauricus x Acipenser schrenckii", "Huso huso",
"Huso huso caspicus", "Huso huso maeoticus", "Polyodon spathula",
"Psephurus gladius", "Pseudoscaphirhynchus hermanni", "Pseudoscaphirhynchus kaufmanni",
"Scaphirhynchus albus", "Scaphirhynchus albus x Scaphirhynchus platorynchus",
"Scaphirhynchus cf. albus", "Scaphirhynchus platorynchus", "Scaphirhynchus suttkusi"
), class = "factor"), B = structure(c(5L, 4L, 5L, 10L, 9L, 4L,
8L, 9L, 7L, 3L, 7L, 8L, 8L, 7L, 6L, 6L, 3L, 4L, 4L, 9L, 7L, 1L,
1L, 10L, 5L, 7L, 4L, 8L, 10L, 10L, 4L, 5L, 1L, 10L, 4L, 3L, 7L,
6L, 6L, 5L, 4L, 8L, 5L, 2L, 8L, 9L, 6L, 4L, 10L, 2L, 6L, 5L,
6L, 6L, 1L, 5L, 4L, 5L, 5L, 5L, 6L, 10L, 8L, 4L, 4L, 1L, 8L,
10L, 10L, 6L, 7L, 6L, 8L, 4L, 6L, 8L, 5L, 10L, 6L, 6L), .Label = c("Aci_CR_F01a",
"Aci_CR_F01b", "Aci_CR_F01c", "Aci_CR_F02", "Aci_CR_R01", "Aci_CR_R02",
"Aci_CR_R03", "Aci_CR_R04", "Aci_CR_R05", "Aci_CR_R06", "degenerate anti sense primer primer bind",
"primer bind", "sense primer primer bind"), class = "factor"),
C = c(0, 3, 0, 0, 0, 3, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0,
1, 3, 0, 0, 0, 0, 0, 0, 0, 3, 1, 3, 0, 4, 1, 0, 1, 3, 0,
0, 0, 2, 0, 0, 0, 0, 1, 0, 4, 0, 0, 0, 0, 4, 0, 0, 0, 0,
2, 2, 0, 1, 1, 0, 0, 3, 2, 1, 0, 4, 2, 0, 0, 0, 0, 0, 1,
0, 0, 1, 0, 0, 0)), row.names = c(256L, 2096L, 69L, 1006L,
1288L, 2017L, 3118L, 1535L, 610L, 1274L, 676L, 3335L, 3154L,
763L, 2526L, 2517L, 1241L, 1846L, 2018L, 1325L, 402L, 3827L,
3791L, 811L, 30L, 604L, 2053L, 3621L, 1152L, 967L, 2075L, 322L,
3741L, 1141L, 2058L, 1196L, 446L, 2399L, 2902L, 54L, 1697L, 3096L,
40L, 2222L, 3518L, 1372L, 2807L, 2112L, 880L, 2291L, 2940L, 26L,
2644L, 2777L, 3753L, 368L, 2117L, 295L, 330L, 323L, 2864L, 888L,
3663L, 1664L, 1951L, 3739L, 3678L, 1149L, 892L, 2333L, 578L,
2850L, 3362L, 1953L, 2786L, 3481L, 319L, 868L, 2706L, 2388L), class = "data.frame")