0

再会

是否可以根据 PAM 差异聚类分析的输出生成图,并在聚类的外点周围绘制多边形?

我目前使用函数 clusplot 实现了类似的功能,但是我更感兴趣的是看到使用直线划分的集群。

# Installing packages
library(cluster)
library(fpc)
library(ggplot2)
library(ggfortify)

#Importing Koeberg matrix into R
KoebergAllCSV <- read.csv("C:/R/Koeberg Cluster/KoebergAllCSV.csv", row.names=1, sep=";")

#Checking if data is in the correct format/Checking class/mode of each column
sapply(KoebergAllCSV, mode)
sapply(KoebergAllCSV, class)

#Creating gower dissimilarity matrix using function "daisy" 
#specifying variable type(numerics all ratioscaled and log transformed)
#and weighting all columns as 1

Koeberg.Diss = daisy(KoebergAllCSV, metric = "gower", type = list(logratio = c("Mass", "EF")), weights = rep.int(1,5))

attributes(Koeberg.Diss)

#Determine k
pamk(Koeberg.Diss, krange=2:50, criterion="asw", usepam=TRUE, scaling=FALSE, diss=TRUE, critout=FALSE)

#Run cluster analysis using PAM (Partitioning around medoids)

pam_fit= pam(Koeberg.Diss, diss = TRUE, k = 28)

#Export cluster info
KoebergClusInfo = paste("KoebergClusInfo", ".txt")
write.table(pam_fit$clustering, file = KoebergClusInfo, sep=",")

## Default S3 method:
clusplot(Koeberg.Diss, pam_fit$clustering, diss = TRUE,
         stand = FALSE,
         lines = 0, labels= 4, xlim = c(-1,1), plotchar = TRUE, span = TRUE,
         shade = TRUE, color = TRUE, col.p = "black",
         main = "Koeberg gower/pam Clusterplot",
         verbose = getOption("verbose"))

我知道 ggplot2 中的函数 autoplot 接受 pam 类的对象,但是当尝试将其用于我的数据并将上述 clusplot 函数替换为

autoplot(pam(pam_fit), frame = TRUE) 

或者

autoplot(pam(Koeberg.Diss, diss = TRUE, k = 28), frame = TRUE)

我收到以下错误...

pam(pam_fit) 中的错误:x 不是数字数据框或矩阵。

as.data.frame.default(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors) 中的错误:无法将类“waiver”分别强制转换为 data.frame...

我对 R 相对较新,并在这些论坛上发布问题,所以任何帮助都将不胜感激。

编辑:使用 factoextra 包中的 fviz_cluster() 让它工作

    # Installing packages
    library(cluster)
    library(fpc)
    library(factoextra)

    #Importing Koeberg matrix into R
    KoebergAllCSV <- read.csv("C:/R/Koeberg Cluster/KoebergAllCSV.csv", 
    row.names=1, sep=";")

    #creating gower dissimilarity matrix using daisy
    Koeberg.Gower = as.matrix(daisy(KoebergAllCSV, metric = "gower", type = 
    list(logratio = c("Mass", "EF"))))

    attributes(Koeberg.Gower)

    pamk(Koeberg.Gower, krange=2:50, criterion="asw", usepam=TRUE, 
    scaling=FALSE, diss=TRUE, critout=FALSE)

    Koeberg.Pam = pam(Koeberg.Gower, 28, diss = TRUE, keep.diss = TRUE)

    fviz_cluster(object = list(data=Koeberg.Gower, cluster = 
    Koeberg.Pam$clustering), geom = c("point", "text"), ellipse.type = 
    "convex", stand = FALSE)

    fviz_silhouette(silhouette(Koeberg.Pam))
4

1 回答 1

0
# Installing packages
library(cluster)
library(fpc)
library(factoextra)

#Importing Koeberg matrix into R
KoebergAllCSV <- read.csv("C:/R/Koeberg Cluster/KoebergAllCSV.csv", 
row.names=1, sep=";")

#creating gower dissimilarity matrix using daisy
Koeberg.Gower = as.matrix(daisy(KoebergAllCSV, metric = "gower", type = 
list(logratio = c("Mass", "EF"))))

attributes(Koeberg.Gower)

pamk(Koeberg.Gower, krange=2:50, criterion="asw", usepam=TRUE, 
scaling=FALSE, diss=TRUE, critout=FALSE)

Koeberg.Pam = pam(Koeberg.Gower, 28, diss = TRUE, keep.diss = TRUE)

fviz_cluster(object = list(data=Koeberg.Gower, cluster = 
Koeberg.Pam$clustering), geom = c("point", "text"), ellipse.type = 
"convex", stand = FALSE)

fviz_silhouette(silhouette(Koeberg.Pam))

使用的数据:

"KoebergAllCSV"

structure(list(Mass = c(157000, 775, 197, 15000, 3250, 628, 1815, 
2070, 2000, 1218, 614, 536, 379, 235, 800, 672, 1960, 768, 1540, 
1790, 3500, 7450, 4030, 2200, 830, 1180, 1310, 955, 590, 1168, 
820, 790, 5000, 883, 824, 280, 184, 941, 293, 1250, 3900, 1700, 
925, 220, 1040, 510, 690, 600, 539, 1018, 122, 1086, 118, 737, 
370, 1236, 5820, 229, 226, 220, 305.5, 94.5, 390, 198, 445, 623, 
1100, 377, 340, 418, 326, 202, 139, 47, 35.1, 46.1, 580, 1150, 
66, 44, 50, 30, 34.2, 30, 91, 71, 59, 78.9, 110, 405, 19.5, 73, 
64, 39, 54, 39, 37, 48, 21.2, 26.3, 24.2, 29, 15.2, 35, 16.1, 
16.8, 29.7, 12.5, 55, 612, 630, 865, 22.4, 8.6, 47.3, 32.5, 28.8, 
17.3, 38, 23.5, 22, 15.5, 18.1, 34, 23, 13.1, 13, 14.7, 19.1, 
14, 18.6, 15.5, 37, 14.5, 24.6, 25, 28.5, 50.8, 52, 68.8, 76.1, 
100, 85, 158, 113, 88, 25.6, 13, 10.2, 30.5, 38, 55, 45.5, 30, 
52, 11, 17.8, 29, 13, 23.2, 38, 21, 25, 27.3, 427, 1572, 78.9, 
15, 61, 212.9, 700, 11.1, 44, 29.6, 124, 3200, 5800, 5300, 950, 
62.4, 205, 270, 93, 40.2, 102, 240, 90, 33, 16.6, 39.2, 47, 60.8, 
13, 20.8, 8, 11, 165000, 180000, 63600, 11400, 21200, 41000, 
11300, 840000, 240000, 320000, 900, 4090, 1250, 19000, 19000, 
6400, 2610, 47, 4500, 1258, 238, 55, 113, 9990, 5360, 17800, 
110.1973216, 238.1629085, 89.33169378, 245.0708356, 83.49190575, 
7.323754897, 17.91558243, 2.259871723, 1.992123644, 78.63046291, 
235.6804221, 413.5582987, 486.5966599, 7.418054089, 8.4510848, 
8.4510848, 42.83324573, 8.4510848, 3.14445177, 2000, 496.2334891, 
119.4158615, 805.4349144, 8.212468482, 25.0905618), Diet = structure(c(4L, 
2L, 2L, 6L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 
2L, 2L, 2L, 2L, 5L, 4L, 5L, 5L, 5L, 5L, 2L, 5L, 5L, 5L, 5L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 
5L, 5L, 5L, 2L, 2L, 2L, 5L, 1L, 3L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
1L, 1L, 2L, 2L, 4L, 5L, 5L, 5L, 6L, 5L, 3L, 1L, 1L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L, 5L, 5L, 5L, 2L, 2L, 2L, 3L, 3L, 5L, 3L, 3L, 5L, 
5L, 5L, 5L, 3L, 3L, 5L, 2L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 3L, 
3L, 5L, 5L, 2L, 2L, 2L, 3L, 2L, 3L, 3L, 5L, 5L, 3L, 3L, 3L, 3L, 
3L, 5L, 5L, 2L, 3L, 3L, 2L, 3L, 3L, 1L, 2L, 1L, 2L, 5L, 2L, 5L, 
3L, 3L, 3L, 3L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 
5L, 5L, 5L, 5L, 2L, 2L, 3L, 5L, 1L, 1L, 1L, 5L, 5L, 2L, 2L, 1L, 
1L, 1L, 5L, 2L, 3L, 2L, 2L, 2L, 5L, 2L, 5L, 3L, 5L, 5L, 3L, 3L, 
5L, 3L, 3L, 4L, 6L, 6L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 1L, 1L, 1L, 
4L, 1L, 1L, 1L, 3L, 4L, 4L, 4L, 5L, 6L, 1L, 1L, 1L, 1L, 6L, 1L, 
1L, 1L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 3L, 3L, 3L, 3L, 3L, 3L, 
4L, 1L, 1L, 1L, 3L, 3L), .Label = c("A", "B", "C", "D", "E", 
"F"), class = "factor"), Time = structure(c(3L, 3L, 3L, 3L, 3L, 
3L, 3L, 1L, 1L, 2L, 3L, 3L, 3L, 1L, 4L, 3L, 3L, 3L, 3L, 3L, 3L, 
1L, 2L, 1L, 3L, 3L, 4L, 2L, 3L, 1L, 3L, 2L, 3L, 2L, 3L, 3L, 1L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 1L, 
3L, 1L, 3L, 3L, 3L, 1L, 3L, 1L, 3L, 1L, 1L, 1L, 4L, 3L, 3L, 1L, 
3L, 3L, 2L, 3L, 3L, 3L, 3L, 4L, 4L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 1L, 3L, 3L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
1L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 1L, 3L, 2L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 1L, 1L, 1L, 1L, 1L, 3L, 3L, 3L, 3L, 3L, 4L, 1L, 4L, 4L, 
1L, 4L, 1L, 3L, 1L, 4L, 1L, 1L, 1L, 4L, 4L, 1L, 4L, 4L, 3L, 3L, 
4L, 4L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
1L, 3L), .Label = c("Cat", "Cr", "Di", "No"), class = "factor"), 
    Space = structure(c(5L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 5L, 2L, 
    2L, 2L, 5L, 2L, 2L, 2L, 5L, 2L, 5L, 2L, 2L, 5L, 5L, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 2L, 5L, 1L, 1L, 1L, 5L, 1L, 1L, 1L, 
    3L, 1L, 1L, 1L, 1L, 3L, 1L, 1L, 5L, 5L, 5L, 5L, 2L, 2L, 2L, 
    2L, 5L, 5L, 4L, 2L, 2L, 2L, 2L, 2L, 5L, 5L, 2L, 2L, 2L, 5L, 
    5L, 5L, 5L, 5L, 3L, 3L, 1L, 1L, 3L, 1L, 1L, 1L, 1L, 1L, 1L, 
    3L, 3L, 3L, 3L, 3L, 3L, 3L, 5L, 3L, 3L, 3L, 3L, 5L, 5L, 5L, 
    1L, 1L, 5L, 1L, 1L, 1L, 1L, 1L, 1L, 5L, 5L, 1L, 3L, 3L, 3L, 
    5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 3L, 3L, 5L, 5L, 5L, 1L, 
    3L, 5L, 5L, 3L, 3L, 5L, 5L, 5L, 5L, 3L, 5L, 5L, 5L, 5L, 5L, 
    5L, 5L, 5L, 3L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 
    5L, 5L, 5L, 5L, 5L, 2L, 5L, 3L, 5L, 5L, 5L, 5L, 5L, 5L, 2L, 
    2L, 1L, 1L, 5L, 5L, 2L, 2L, 5L, 2L, 1L, 5L, 3L, 5L, 1L, 3L, 
    5L, 5L, 5L, 1L, 3L, 3L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 
    5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 4L, 5L, 4L, 5L, 5L, 5L, 5L, 
    5L, 5L, 5L, 5L, 4L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 4L, 
    5L, 4L, 4L, 5L, 5L, 5L, 5L, 3L, 5L, 5L, 4L, 5L), .Label = c("Ae", 
    "Aq", "Ar", "Fo", "Te"), class = "factor"), EF = c(36274.12643, 
    974.5491757, 383.4606456, 15194.1663, 4179.125464, 1043.599331, 
    1739.739739, 1902.677158, 1858.620513, 1325.913225, 831.6334703, 
    758.1419376, 598.7459669, 432.4008244, 995.8492032, 1104.982804, 
    1833.224631, 968.5460848, 1555.574839, 2526.177199, 2720.81891, 
    4551.218864, 2995.035921, 1983.25768, 1021.131045, 1297.600326, 
    1393.320578, 1123.496167, 809.3558665, 1288.599252, 1012.736663, 
    987.3550419, 3468.868783, 1065.095472, 1016.098313, 487.1962293, 
    366.0414243, 1112.253632, 502.488525, 1349.53769, 2928.89833, 
    1663.891544, 1099.339465, 413.4082553, 1190.663398, 732.8997761, 
    900.420823, 818.6726853, 354.4240516, 652.168291, 85.2606497, 
    693.8895747, 270.483605, 941.7478954, 589.026282, 1339.226017, 
    3846.819879, 533.5361702, 528.1460593, 517.3161179, 666.1149499, 
    269.8814521, 803.9152978, 477.0047921, 889.8724349, 1153.045225, 
    1786.335023, 783.201274, 723.3180648, 640.0447608, 540.3690726, 
    390.0619447, 302.4004117, 144.5066856, 118.4522857, 142.6164524, 
    799.9885345, 1275.042111, 182.0952927, 543.7188737, 634.8358004, 
    341.8068213, 400.635478, 341.8068213, 1311.800923, 191.3798609, 
    168.7094925, 205.6358063, 257.8562828, 626.4208001, 79.37849663, 
    195.0348258, 178.3190991, 127.263627, 158.8361858, 127.263627, 
    122.7819915, 144.6363257, 82.97394225, 96.07341942, 90.78786186, 
    102.6748266, 66.17393783, 116.6808568, 68.813704, 70.83430724, 
    104.3536694, 57.93381766, 158.6645733, 816.6280747, 832.8847551, 
    1033.247332, 86.13942963, 44.9254345, 143.1986471, 110.9466069, 
    102.1927841, 72.26112014, 123.3917674, 88.99374555, 85.0904386, 
    67.05928121, 74.51689843, 114.4034188, 87.7017517, 59.81055334, 
    59.49970587, 64.68582581, 77.29226408, 62.57493448, 75.91055058, 
    67.05928121, 121.1742978, 64.08606129, 91.80560821, 92.81807245, 
    101.4677065, 150.3213487, 152.7269268, 184.7538415, 197.8677001, 
    238.2502359, 213.3232585, 325.1772534, 258.896799, 218.4145451, 
    94.32710718, 59.49970587, 50.45235653, 106.2569217, 123.3917674, 
    158.6645733, 139.4700925, 105.0692888, 152.7269268, 53.11049696, 
    73.67479581, 102.6748266, 59.49970587, 88.21961721, 123.3917674, 
    82.44084978, 92.81807245, 98.54258242, 649.397604, 1577.514936, 
    202.7896107, 65.58060147, 170.2384385, 404.275036, 909.2871722, 
    53.43834074, 136.3267745, 104.1146163, 265.4017335, 2559.743414, 
    3837.812585, 3609.284914, 1119.48705, 196.0571475, 393.9976926, 
    605.6763891, 266.5768403, 139.7476799, 286.2283703, 438.6449711, 
    224.9201933, 112.1044413, 70.25978867, 126.0282381, 142.5804177, 
    169.8586911, 59.49970587, 81.90613014, 42.76953519, 53.11049696, 
    44893.11086, 48012.29543, 21505.57155, 5704.435068, 9209.019243, 
    15323.26221, 5665.766265, 157697.8254, 59952.20689, 74861.38869, 
    616.5285774, 2297.756619, 820.2217331, 23289.68486, 8728.776034, 
    3390.680499, 1555.167143, 82.25108625, 2783.313695, 2329.752262, 
    567.6985933, 163.9110073, 301.8499294, 4992.739194, 2906.435392, 
    8247.673366, 12.81581191, 25.42711978, 10.63408241, 26.08172622, 
    10.0137771, 1.178076499, 2.549050089, 0.353356528, 0.31350088, 
    9.49371787, 25.19136319, 41.52955076, 47.98985328, 1.091673606, 
    1.235456699, 1.235456699, 5.76431571, 1.235456699, 0.483456886, 
    112.0018952, 48.83385255, 13.76461928, 75.11335195, 1.274157763, 
    3.438909954)), .Names = c("Mass", "Diet", "Time", "Space", 
"EF"), class = "data.frame", row.names = c("CommonOstrich", "GreatCrestedGrebe", 
"LittleGrebe", "GreatWhitePelican", "White-breastedCormorant", 
"ReedCormorant", "AfricanDarter", "GreyHeron", "Black-headedHeron", 
"PurpleHeron", "LittleEgret", "Yellow-billedEgret", "CattleEgret", 
"Green-backedHeron", "Black-crownedNight-Heron", "HamerkopHamerkop", 
"AfricanSacredIbis", "GlossyIbis", "HadedaIbis", "AfricanSpoonbill", 
"GreaterFlamingo", "Spur-wingedGoose", "EgyptianGoose", "SouthAfricanShelduck", 
"CapeShoveler", "AfricanBlackDuck", "Yellow-billedDuck", "Red-billedTeal", 
"CapeTeal", "SouthernPochard", "MaccoaDuck", "White-backedDuck", 
"Secretarybird", "PeregrineFalcon", "LannerFalcon", "RockKestrel", 
"LesserKestrel", "Yellow-billedKite", "Black-shoulderedKite", 
"BootedEagle", "AfricanFish-eagle", "JackalBuzzard", "SteppeBuzzard", 
"Rufous-chestedSparrowhawk", "BlackSparrowhawk", "AfricanGoshawk", 
"AfricanMarsh-harrier", "BlackHarrier", "Grey-wingedFrancolin", 
"CapeSpurfowl", "CommonQuail", "HelmetedGuineafowl", "BlackCrake", 
"AfricanPurpleSwamphen", "CommonMoorhen", "Red-knobbedCoot", 
"BlueCrane", "CrownedLapwing", "BlacksmithLapwing", "RuffRuff", 
"CommonGreenshank", "WoodSandpiper", "PiedAvocet", "Black-wingedStilt", 
"WaterThick-knee", "SpottedThick-knee", "KelpGull", "Grey-headedGull", 
"Hartlaub'sGull", "SpeckledPigeon", "Red-eyedDove", "CapeTurtle-dove", 
"LaughingDove", "NamaquaDove", "Klaas'sCuckoo", "DiderickCuckoo", 
"BarnOwl", "SpottedEagle-owl", "Fiery-neckedNightjar", "CommonSwift", 
"AfricanBlackSwift", "White-rumpedSwift", "HorusSwift", "LittleSwift", 
"AlpineSwift", "SpeckledMousebird", "White-backedMousebird", 
"Red-facedMousebird", "PiedKingfisher", "GiantKingfisher", "MalachiteKingfisher", 
"EuropeanBee-eater", "AfricanHoopoe", "AcaciaPiedBarbet", "GreaterHoneyguide", 
"LesserHoneyguide", "CardinalWoodpecker", "Large-billedLark", 
"Grey-backedSparrowlark", "Red-cappedLark", "BarnSwallow", "White-throatedSwallow", 
"Pearl-breastedSwallow", "GreaterStripedSwallow", "RockMartin", 
"Brown-throatedMartin", "BandedMartin", "Black(Southernrace)Saw-wing", 
"Fork-tailedDrongo", "PiedCrow", "CapeCrow", "White-neckedRaven", 
"GreyTit", "CapePenduline-tit", "CapeBulbul", "CappedWheatear", 
"FamiliarChat", "AfricanStonechat", "CapeRobin-chat", "KarooScrub-robin", 
"LesserSwamp-warbler", "AfricanReed-warbler", "LittleRush-warbler", 
"CapeGrassbird", "Long-billedCrombec", "Bar-throatedApalis", 
"CloudCisticola", "Grey-backedCisticola", "Levaillant'sCisticola", 
"AfricanDuskyFlycatcher", "Chestnut-ventedTit-babbler", "Layard'sTit-babbler", 
"FiscalFlycatcher", "CapeBatis", "AfricanParadise-flycatcher", 
"CapeWagtail", "AfricanPipit", "CapeLongclaw", "Common(Southern)Fiscal", 
"SouthernBoubou", "Bokmakierie", "CommonStarling", "WattledStarling", 
"Red-wingedStarling", "PiedStarling", "CapeSugarbird", "MalachiteSunbird", 
"Orange-breastedSunbird", "SouthernDouble-collaredSunbird", "HouseSparrow", 
"CapeSparrow", "CapeWeaver", "SouthernMasked-weaver", "SouthernRedBishop", 
"YellowBishop", "CommonWaxbill", "Pin-tailedWhydah", "CapeCanary", 
"Black-headedCanary", "BrimstoneCanary", "White-throatedCanary", 
"YellowCanary", "Streaky-headedSeedeater", "CapeBunting", "RockDove", 
"MallardDuck", "OliveThrush", "CapeWhite-eye", "CapeLong-billedLark", 
"Burchell'sCoucal", "SouthernBlackKorhaan", "KarooPrinia", "CapeClapperLark", 
"SouthernGrey-headedSparrow", "LittleBittern", "BlackStork", 
"Verreaux'sEagle", "MartialEagle", "AfricanHarrier-Hawk", "BlackrumpedButtonquail", 
"AfricanRail", "AfricanJacana", "CommonSandpiper", "LittleStint", 
"White-wingedTern", "NamaquaSandgrouse", "Red-chestedCuckoo", 
"KarooLark", "SandMartin", "SombreGreenbul", "MountainChat", 
"Ant-eatingChat", "ZittingCisticola", "SpottedFlycatcher", "FairyFlycatcher", 
"DuskySunbird", "RedHartebeest", "BlueWildebeest", "Bontebok", 
"CapeGrysbok", "CommonDuiker", "Springbok", "Steenbok", "CommonEland", 
"Gemsbok", "PlainsZebra", "YellowMongoose", "LargeGreyMongoose", 
"SmallGreyMongoose", "CapePorcupine", "Caracal", "AfricanWildCat", 
"Small-spottedGenet", "CapeGoldenMole", "ScrubHare", "CapeDuneMole-Rat", 
"VleiRat", "FourStripedGrassMouse", "CapeGerbil", "Black-BackedJackal", 
"Bat-earedFox", "AfricanClawlessOtter", "HeraldSnake", "RhombicEgg-eater", 
"SpottedHarlequinSnake", "OliveHouseSnake", "SpottedHouseSnake", 
"Knox'sDesertLizard", "NamaquaDwarfChameleon", "Austen'sThick-toedGecko", 
"OcelatedThick-toedGecko", "CrossedWhipSnake", "CapeWhipSnake", 
"Spotted/RhombicSkaapsteker", "MoleSnake", "Short-leggedseps", 
"SilveryDwarfBurrowingSkink", "BloubergDwarfBurrowingSkink", 
"CapeSkink", "Red-SidedSkink", "VariegatedSkink", "AngulateTortoise", 
"Boomslang", "KarooWhipSnake", "CapeCobra", "Delalande'sBeakedBlindSnake", 
"CapeGirdledLizard"))
于 2017-07-05T17:13:36.893 回答