Проблема с визуализацией данных в plot3Drgl в R shiny (из двух отображаются только значения одной переменной)
Я сделал 3D-график своих данных, используя
plot3Drgl
библиотека. Полученный график показывает значения только одной переменной (женский пол), в то время как другой (мужской) отображается только одна точка (одно значение) (как на рисунке ниже). Это образец моего фрейма данных:
Male Female Male Female Male Female Female Male Female Male
ILMN_1651741 7.2405 7.2156 7.2494 7.2492 7.2368 7.4046 7.2584 7.1648 7.1983 7.1965
ILMN_1651752 7.333 7.1679 7.374 7.3498 7.3725 7.2901 7.2551 7.3422 7.3393 7.4218
ILMN_1651763 7.1411 7.0692 7.1097 7.1026 7.0893 7.1025 7.1177 7.078 7.1723 7.12
ILMN_1651771 7.1902 7.2327 7.1609 7.2083 7.1446 7.1801 7.2202 7.1608 7.2313 7.1494
ILMN_1651789 7.1436 7.1507 7.2513 7.164 7.1632 7.2135 7.2499 7.1962 7.2053 7.1427
ILMN_1652000 7.3254 7.4786 7.3422 7.2298 7.3879 7.4656 7.3085 7.27 7.3202 7.3025
ILMN_1652006 7.2498 7.2189 7.2658 7.3358 7.297 7.2135 7.3374 7.2878 7.3317 7.3926
ILMN_1652017 7.1185 7.0759 7.1016 7.0963 7.1177 7.1068 7.1656 7.1755 7.1771 7.1309
ILMN_1652073 10.266 10.857 11.675 10.962 10.699 11.003 10.927 11.865 10.745 11.971
ILMN_1652082 9.1103 8.9746 8.5392 9.2003 8.9035 9.1671 9.1908 9.0056 8.9995 8.751
ILMN_1652196 7.1689 7.3163 7.1857 7.1907 7.1957 7.2051 7.1123 7.2049 7.2007 7.1241
ILMN_1652215 7.3962 7.3339 7.3658 7.2345 7.3272 7.4033 7.316 7.3943 7.3711 7.4246
ILMN_1652276 7.1289 7.1781 7.1801 7.1584 7.2039 7.2362 7.2017 7.2227 7.1746 7.1709
ILMN_1652429 7.1161 7.1546 7.1314 7.1881 7.1087 7.1913 7.1243 7.1449 7.1053 7.1263
ILMN_1652505 7.8764 7.7524 7.6735 8.0005 7.7318 7.7576 7.975 7.7701 7.6449 7.7924
ILMN_1652650 7.6733 7.7991 7.7273 7.7459 7.5846 7.687 7.7018 7.5766 7.8997 7.8296
ILMN_1652736 7.4843 7.4031 7.5525 7.427 7.4762 7.3325 7.442 7.6386 7.5778 7.4492
ILMN_1652890 7.188 7.2059 7.1963 7.2345 7.1646 7.2991 7.1675 7.2049 7.1438 7.2182
ILMN_1652938 7.182 7.1523 7.1444 7.1246 7.1603 7.2675 7.2052 7.2041 7.1202 7.2099
ILMN_1653055 7.1411 7.1863 7.1601 7.1592 7.2195 7.1059 7.1488 7.1162 7.2583 7.2023
ILMN_1653129 7.5779 7.5763 7.5958 7.5506 7.5793 7.4985 7.553 7.5598 7.4607 7.5254
ILMN_1653211 7.0772 7.1227 7.1367 7.1035 7.1497 7.1237 7.0863 7.1068 7.1411 7.0913
Это код сюжета:
library(plot3Drgl)
dataframe <- japply(dataframe, which(sapply(dataframe, class)=="factor"), as.character )
dataframe <- japply(dataframe, which(sapply(dataframe, class)=="character"), as.numeric )
sex <- factor(c('Female','Male','Klinefelter','Turner')
pca <- prcomp(t(dataframe),center = T,scale = T)
pca.var <- pca$sdev^2 # variance##
pca.var.per <<- round(pca.var/sum(pca.var)*100,1) # variance percentage##
pca.data <<- data.frame(X = pca$x[,1],Y = pca$x[,2],Z = pca$x[,3])
myColors <- c('Female' = 'red', 'Klinefelter' = '#36c5e4', 'Male' = 'blue', 'Turner' = '#fa05c0')
scatter3Drgl(x=pcaData$X,y=pcaData$Y,z=pcaData$Z, col.var = sex, col = subset(myColors,names(myColors)
%in% sex),
xlab= paste("PC",1, " => ",pca.var.per[1],"%",sep = ""),
ylab= paste("PC",2, " => ",pca.var.per[2],"%",sep = ""),
zlab= paste("PC",3, " => ",pca.var.per[3],"%",sep = ""),pch = 21,main = 'PCA Plot',colkey = F)
legend3d("right", legend = subset(names(myColors),names(myColors) %in% sex), pch = 21,col =
subset(myColors,names(myColors) %in% sex), cex=0.55)
И вот итоговый сюжет:
Как показано, переменная "Мужской" отображается только как одна точка. Кто-нибудь знает, почему так происходит и как это исправить?
Изменить: я снова добавил данные с помощью
dput()
по запросу:
reconstruct <- structure(list(X3999810004_A = c(14.183, 10.828, 7.188, 11.899,
7.5228, 7.1211, 7.2366, 7.0977, 7.1297, 7.1265, 7.2169, 7.2044,
9.7714, 7.3722, 9.4377, 7.1235, 7.6811, 7.2176, 7.2516, 7.2304
), X3999810004_C = c(14.081, 10.54, 7.1391, 11.81, 7.5365, 7.2462,
7.1965, 7.1113, 7.0893, 7.0484, 7.1206, 7.1499, 9.4718, 7.3847,
9.3293, 7.1421, 7.6785, 7.2406, 7.2588, 7.1267), X3999810004_F = c(14.589,
10.782, 7.1881, 11.743, 7.4874, 7.2281, 7.1988, 7.1514, 7.1341,
7.1609, 7.1375, 7.1616, 9.3149, 7.4114, 9.4081, 7.1156, 7.7154,
7.1149, 7.3058, 7.1274), X3999810004_H = c(13.77, 10.651, 7.1715,
12.155, 7.5619, 7.1856, 7.2083, 7.2048, 7.1186, 7.0952, 7.1559,
7.164, 9.4366, 7.3529, 9.4345, 7.145, 7.7204, 7.2083, 7.2336,
7.1254), X3999810004_I = c(14.389, 10.515, 7.1446, 11.857, 7.483,
7.1264, 7.266, 7.1383, 7.1482, 7.2168, 7.1796, 7.1732, 9.5807,
7.4172, 9.4633, 7.2217, 7.7351, 7.1791, 7.2709, 7.1256), X3999810004_K = c(13.731,
10.895, 7.2289, 11.814, 7.4074, 7.0876, 7.1621, 7.1968, 7.1254,
7.0867, 7.1469, 7.1874, 9.3342, 7.3727, 9.3248, 7.1145, 7.542,
7.155, 7.2589, 7.1657), X3999810012_J = c(13.895, 10.172, 7.1598,
12.012, 7.542, 7.1696, 7.1568, 7.1925, 7.0393, 7.1587, 7.1508,
7.2338, 9.6011, 7.3916, 9.7475, 7.1598, 7.742, 7.1166, 7.2381,
7.1488), X3999810016_A = c(13.853, 10.361, 7.1467, 12.313, 7.5224,
7.2005, 7.1887, 7.1051, 7.134, 7.0627, 7.1782, 7.1273, 9.6763,
7.4037, 9.4613, 7.1685, 7.7261, 7.2056, 7.268, 7.1036), X3999810016_C = c(13.631,
10.261, 7.2248, 12.058, 7.3838, 7.1889, 7.203, 7.0989, 7.1925,
7.1256, 7.0952, 7.1663, 9.411, 7.4363, 9.2445, 7.1735, 7.7393,
7.1488, 7.1164, 7.2919), X3999810016_F = c(14.411, 10.361, 7.2684,
12.211, 7.559, 7.1018, 7.2099, 7.122, 7.1418, 7.099, 7.1484,
7.1108, 9.263, 7.3813, 9.4248, 7.2217, 7.8069, 7.1809, 7.2099,
7.1663), X3999810016_H = c(14.109, 10.208, 7.2008, 12.603, 7.5482,
7.159, 7.2132, 7.1923, 7.1273, 7.1158, 7.1025, 7.1569, 9.7942,
7.2596, 8.916, 7.2587, 7.8796, 7.1424, 7.1971, 7.2868), X3999810016_I = c(14.093,
10.591, 7.1859, 11.989, 7.3896, 7.2029, 7.2219, 7.1655, 7.0731,
7.278, 7.0665, 7.1401, 9.308, 7.4288, 9.1619, 7.1753, 7.6728,
7.2233, 7.231, 7.1753), X3999810016_K = c(14.504, 10.364, 7.2089,
12.035, 7.4743, 7.2095, 7.2257, 7.0941, 7.163, 7.142, 7.1925,
7.1124, 9.4128, 7.4248, 9.5233, 7.2284, 7.6694, 7.185, 7.2621,
7.1588), X3999823063_A = c(13.866, 10.566, 7.2177, 11.989, 7.5308,
7.1692, 7.2168, 7.0146, 7.0494, 7.1075, 7.1873, 7.1426, 9.6688,
7.5671, 9.5182, 7.1344, 7.7004, 7.1447, 7.2749, 7.2177), X3999823063_C = c(14.049,
10.632, 7.1803, 12.226, 7.4082, 7.2091, 7.1953, 7.1858, 7.1327,
7.114, 7.1475, 7.2109, 9.2647, 7.397, 9.3855, 7.1726, 7.621,
7.1436, 7.2606, 7.2198), X3999823063_F = c(14.066, 10.579, 7.2716,
12.349, 7.5544, 7.1566, 7.2212, 7.1376, 7.1147, 7.1429, 7.1635,
7.1933, 9.6988, 7.36, 9.5444, 7.1777, 7.8013, 7.1411, 7.2225,
7.2344), X3999823063_H = c(13.8, 10.712, 7.261, 12.327, 7.4871,
7.1613, 7.1918, 7.1587, 7.1415, 7.1683, 7.1136, 7.137, 9.6332,
7.3484, 9.358, 7.1516, 7.6624, 7.1011, 7.2528, 7.1649), X3999823063_I = c(13.911,
10.496, 7.1641, 12.211, 7.5752, 7.1695, 7.182, 7.1527, 7.0876,
7.0744, 7.1641, 7.1579, 9.6632, 7.4478, 9.2876, 7.1425, 7.7353,
7.2343, 7.2861, 7.2837), X3999823063_K = c(13.825, 10.555, 7.2071,
12.155, 7.5763, 7.1814, 7.2811, 7.1239, 7.1536, 7.1388, 7.0876,
7.208, 9.1663, 7.4187, 9.417, 7.1832, 7.6754, 7.1359, 7.2621,
7.2437), X3999823066_A = c(14.093, 10.277, 7.249, 12.261, 7.429,
7.246, 7.1203, 7.0982, 7.1193, 7.1223, 7.2226, 7.1501, 8.9188,
7.4414, 9.3962, 7.1753, 7.4425, 7.2169, 7.198, 7.1915), X3999823066_C = c(14.109,
10.645, 7.2249, 12.175, 7.474, 7.2476, 7.1658, 7.1552, 7.1321,
7.1698, 7.0723, 7.1387, 9.1872, 7.433, 9.5282, 7.202, 7.5704,
7.164, 7.2687, 7.2404), X3999823066_F = c(13.785, 10.595, 7.2455,
12.155, 7.5019, 7.2746, 7.1807, 7.0889, 7.0876, 7.2146, 7.1338,
7.1898, 9.0046, 7.3278, 9.2542, 7.2172, 7.6311, 7.2047, 7.1758,
7.1542), X3999823066_H = c(13.77, 10.57, 7.1428, 12.354, 7.559,
7.1961, 7.147, 7.075, 7.158, 7.0866, 7.0896, 7.1829, 9.5374,
7.3635, 9.4864, 7.1149, 7.7163, 7.1758, 7.249, 7.2435), X3999823066_I = c(13.708,
10.629, 7.1946, 12.18, 7.4968, 7.0884, 7.1475, 7.1163, 7.1173,
7.183, 7.1874, 7.1972, 9.529, 7.373, 9.5591, 7.1484, 7.6951,
7.1929, 7.243, 7.2134), X3999823066_K = c(13.8, 10.254, 7.1566,
12.261, 7.5565, 7.2512, 7.1945, 7.1956, 7.1313, 7.0848, 7.0993,
7.2091, 9.4791, 7.3601, 9.021, 7.1606, 7.6161, 7.1474, 7.2405,
7.2558), X3999823071_E = c(14.259, 10.648, 7.1584, 11.895, 7.4701,
7.2129, 7.2429, 7.1539, 7.1298, 7.2698, 7.1415, 7.1716, 9.3803,
7.4367, 9.6221, 7.2329, 7.5296, 7.1197, 7.5188, 7.2338), X3999823071_G = c(14.093,
9.979, 7.1087, 11.687, 7.5371, 7.159, 7.1882, 7.127, 7.1258,
7.1476, 7.0949, 7.0897, 9.7934, 7.3323, 9.0776, 7.232, 7.8896,
7.1665, 7.269, 7.269), X3999823099_A = c(13.719, 11.05, 7.2202,
11.285, 7.6291, 7.1884, 7.1766, 7.1808, 7.1422, 7.105, 7.1034,
7.1661, 9.2211, 7.3947, 9.5612, 7.0754, 7.7541, 7.1832, 7.2484,
7.1482), X3999823099_C = c(14.125, 11.101, 7.242, 11.614, 7.6006,
7.0809, 7.3701, 7.1337, 7.1213, 7.1713, 7.0972, 7.1658, 9.3999,
7.5753, 9.6451, 7.1603, 7.6901, 7.1438, 7.2644, 7.2135), X3999823099_F = c(13.994,
10.83, 7.1552, 11.021, 7.4794, 7.1683, 7.2047, 7.1409, 7.1249,
7.1329, 7.1304, 7.1377, 8.9562, 7.4656, 9.2814, 7.1393, 7.74,
7.1167, 7.3026, 7.1576), X3999823099_H = c(14.019, 10.447, 7.1687,
11.509, 7.5821, 7.1508, 7.2036, 7.112, 7.1069, 7.1838, 7.0981,
7.1555, 9.5202, 7.4028, 9.284, 7.1678, 7.6741, 7.1986, 7.2514,
7.1994), X3999823099_I = c(14.259, 10.902, 7.1959, 11.344, 7.5631,
7.255, 7.2387, 7.1503, 7.0923, 7.1397, 7.1259, 7.1818, 9.1567,
7.4108, 9.3482, 7.1486, 7.5555, 7.174, 7.294, 7.2066), X3999823099_K = c(13.965,
10.629, 7.1577, 11.541, 7.4683, 7.1593, 7.2114, 7.1816, 7.093,
7.1128, 7.1632, 7.1413, 9.2305, 7.5343, 9.5753, 7.1632, 7.6854,
7.1982, 7.2276, 7.1891), X3999823106_B = c(14.125, 10.469, 7.2529,
11.602, 7.5496, 7.1459, 7.1024, 7.1279, 7.0732, 7.1156, 7.1271,
7.1593, 9.5771, 7.4252, 9.4428, 7.1076, 7.6242, 7.1828, 7.2403,
7.14), X3999823106_C = c(13.994, 10.74, 7.1541, 11.64, 7.4598,
7.1998, 7.2141, 7.1412, 7.1139, 7.0685, 7.1184, 7.1722, 9.1944,
7.6777, 9.4181, 7.1505, 7.5492, 7.2063, 7.2623, 7.1496), X3999823106_D = c(13.879,
10.747, 7.1456, 11.975, 7.5604, 7.261, 7.2366, 7.0701, 7.1535,
7.1115, 7.1265, 7.206, 9.7187, 7.471, 9.5312, 7.1764, 7.7769,
7.1558, 7.1891, 7.1875), X3999823106_E = c(13.838, 10.766, 7.1411,
11.636, 7.3366, 7.2321, 7.1954, 7.1018, 7.0868, 7.1296, 7.1213,
7.135, 9.6752, 7.3476, 9.515, 7.1366, 7.5568, 7.1986, 7.262,
7.1698), X3999823106_L = c(14.081, 10.691, 7.1394, 12.333, 7.5618,
7.1265, 7.2226, 7.121, 7.104, 7.221, 7.1871, 7.062, 9.3829, 7.3719,
9.4387, 7.1638, 7.8198, 7.1837, 7.1466, 7.1768)), row.names = c("ILMN_1343291",
"ILMN_1343295", "ILMN_1651210", "ILMN_1651228", "ILMN_1651229",
"ILMN_1651230", "ILMN_1651232", "ILMN_1651235", "ILMN_1651236",
"ILMN_1651237", "ILMN_1651238", "ILMN_1651253", "ILMN_1651254",
"ILMN_1651259", "ILMN_1651262", "ILMN_1651268", "ILMN_1651278",
"ILMN_1651281", "ILMN_1651282", "ILMN_1651285"), class = "data.frame")