繁体   English   中英

为什么 NA 是从 pivot_wider 生成的?

[英]Why are NAs being produced from pivot_wider?

我正在尝试将 pivot 我的 dataframe 从整洁格式转换为宽格式,使用具有两个值的列,使用以下内容:

bai_wide = bai_trim %>% pivot_wider(names_from = Species, values_from = BAI)

但是当我这样做时,在生成的 dataframe 中会产生 NA。 这些值应该匹配,当我检查原始 dataframe 时,我找不到任何不匹配的实例。

我知道这里有人问这个问题,但它似乎没有解决我的问题

Output 的dput(head(bai_trim, 100))

structure(list(Site = c("TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", 
"TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", 
"TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", 
"TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", 
"TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", 
"TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", 
"TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", 
"TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C2", 
"TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", 
"TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", 
"TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", 
"TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", 
"TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", 
"TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", 
"TN_C2", "TN_C2", "TN_C2", "TN_C2"), Year = c(1930L, 1931L, 1932L, 
1933L, 1934L, 1935L, 1936L, 1937L, 1938L, 1939L, 1940L, 1941L, 
1942L, 1943L, 1944L, 1945L, 1946L, 1947L, 1948L, 1949L, 1950L, 
1951L, 1952L, 1953L, 1954L, 1955L, 1956L, 1957L, 1958L, 1959L, 
1960L, 1961L, 1962L, 1963L, 1964L, 1965L, 1966L, 1967L, 1968L, 
1969L, 1970L, 1971L, 1972L, 1973L, 1974L, 1975L, 1976L, 1977L, 
1978L, 1979L, 1980L, 1981L, 1982L, 1930L, 1931L, 1932L, 1933L, 
1934L, 1935L, 1936L, 1937L, 1938L, 1939L, 1940L, 1941L, 1942L, 
1943L, 1944L, 1945L, 1946L, 1947L, 1948L, 1949L, 1950L, 1951L, 
1952L, 1953L, 1954L, 1955L, 1956L, 1957L, 1958L, 1959L, 1960L, 
1961L, 1962L, 1963L, 1964L, 1965L, 1966L, 1967L, 1968L, 1969L, 
1970L, 1971L, 1972L, 1973L, 1974L, 1975L, 1976L), Species = c("QR", 
"QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", 
"QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", 
"QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", 
"QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", 
"QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", 
"QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", 
"QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", 
"QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", 
"QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR"
), Sample.Depth = c(30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 
30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 
30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 
30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 
30L, 30L, 30L, 30L, 19L, 29L, 29L, 29L, 30L, 31L, 31L, 31L, 31L, 
31L, 31L, 31L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 
32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 
32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L
), Method = c("DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", 
"DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", 
"DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", 
"DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", 
"DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", 
"DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", 
"DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", 
"DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", 
"DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", 
"DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", 
"DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", 
"DBH", "DBH", "DBH"), BAI = c(1329.82725527258, 1583.55443950606, 
1562.33088797649, 1781.17227674256, 2239.26579940025, 2283.51207558404, 
1494.47266835451, 2079.21430793831, 2431.61659002079, 2063.6712031744, 
2279.01645480338, 2240.79817505811, 2537.08695503732, 2357.25996541304, 
2143.34894709899, 2963.42239899576, 3266.11822944487, 3188.08984551795, 
2053.72520969305, 1976.4907044215, 1974.33378516752, 2314.19980193622, 
1986.85089493789, 1717.7066077125, 1712.32576613411, 2270.12697244457, 
2265.44617869404, 2086.27614664055, 2290.16557632423, 2067.56268776649, 
2330.32100341616, 2594.45495623365, 1916.37409435704, 2615.32977322989, 
2994.09297309259, 3105.71799117356, 2608.13289994918, 2781.32817927508, 
2788.89468459625, 2814.41629406914, 2218.40404749475, 2375.62820321149, 
2454.40055519329, 2536.22462576871, 2673.39980127834, 2883.60697407212, 
2901.26428554182, 2759.19544971662, 3271.437201359, 3023.01356721046, 
2586.11651777101, 2683.77375275508, 2560.55282710926, 1028.27393956856, 
1254.97727247239, 1180.00666939284, 1162.75652641982, 1468.21393690705, 
1420.29545487908, 870.636254692378, 1558.97134681397, 1680.04973736316, 
1807.98548193521, 1887.32063639148, 1916.04119222857, 1949.52683704445, 
1921.80868471893, 1600.62264826328, 1859.9149833578, 2184.22704501268, 
2364.39029270987, 1853.12296621112, 1533.22199599478, 1797.1627135163, 
1738.07965789397, 1687.15007187521, 1592.13731685411, 1656.32266290939, 
2337.09276793395, 2353.86414716497, 2290.38356871338, 2562.25811266612, 
2576.09112815194, 2595.90714922909, 2892.38644610441, 1926.95398513788, 
2040.79373628591, 2636.83713546072, 3216.10408623204, 2399.34264253439, 
2411.58302876301, 2150.87125164971, 2456.28295814168, 2401.15926385922, 
2525.4045600946, 2619.28151832898, 2869.37020856327, 2457.47946097768, 
2505.49431848312, 2343.63069935373)), class = c("grouped_df", 
"tbl_df", "tbl", "data.frame"), row.names = c(NA, -100L), groups = structure(list(
    Site = c("TN_C1", "TN_C2"), .rows = structure(list(1:53, 
        54:100), ptype = integer(0), class = c("vctrs_list_of", 
    "vctrs_vctr", "list"))), class = c("tbl_df", "tbl", "data.frame"
), row.names = c(NA, -2L), .drop = TRUE))

这是生成的 dataframe 的示例:

structure(list(Site = c("TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", 
"TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", 
"TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", 
"TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", 
"TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", 
"TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", 
"TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", 
"TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C1", "TN_C2", 
"TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", 
"TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", 
"TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", 
"TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", 
"TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", 
"TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", 
"TN_C2", "TN_C2", "TN_C2", "TN_C2"), Year = c(1930L, 1931L, 1932L, 
1933L, 1934L, 1935L, 1936L, 1937L, 1938L, 1939L, 1940L, 1941L, 
1942L, 1943L, 1944L, 1945L, 1946L, 1947L, 1948L, 1949L, 1950L, 
1951L, 1952L, 1953L, 1954L, 1955L, 1956L, 1957L, 1958L, 1959L, 
1960L, 1961L, 1962L, 1963L, 1964L, 1965L, 1966L, 1967L, 1968L, 
1969L, 1970L, 1971L, 1972L, 1973L, 1974L, 1975L, 1976L, 1977L, 
1978L, 1979L, 1980L, 1981L, 1982L, 1930L, 1931L, 1932L, 1933L, 
1934L, 1935L, 1936L, 1937L, 1938L, 1939L, 1940L, 1941L, 1942L, 
1943L, 1944L, 1945L, 1946L, 1947L, 1948L, 1949L, 1950L, 1951L, 
1952L, 1953L, 1954L, 1955L, 1956L, 1957L, 1958L, 1959L, 1960L, 
1961L, 1962L, 1963L, 1964L, 1965L, 1966L, 1967L, 1968L, 1969L, 
1970L, 1971L, 1972L, 1973L, 1974L, 1975L, 1976L), Sample.Depth = c(30L, 
30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 
30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 
30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 
30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 29L, 26L, 
29L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 
30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 
30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 
30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L), Method = c("DBH", "DBH", 
"DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", 
"DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", 
"DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", 
"DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", 
"DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", 
"DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", 
"DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", 
"DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", 
"DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", 
"DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", 
"DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH"), QA = c(1112.01006767124, 
949.583411961448, 982.998663254952, 1087.36586010667, 1183.95219489817, 
1437.32692024663, 859.941821023156, 1378.82104138941, 1715.11803906048, 
1205.20873806085, 1314.40911284639, 1311.60513756934, 1334.12431932916, 
1250.4241475598, 1206.45532955227, 1669.46160189739, 1748.00363523953, 
1522.13188782807, 1068.48352520193, 1383.60591823409, 1629.94356878758, 
1716.81958142787, 1371.09743912618, 1177.56768513191, 1268.53730445105, 
1435.3852922059, 1431.72686167387, 1209.19417164828, 1475.2233795444, 
1353.14184703705, 1405.88977051333, 1502.28919572968, 1231.9358745554, 
1493.22404186533, 1608.26405912164, 1758.40007776153, 1358.26743655462, 
1604.19889400061, 1582.77287404955, 1460.38775673841, 1718.89866003169, 
1926.87492109503, 2035.25743659833, 2154.8572833228, 2155.72079265846, 
1938.13092846124, 2236.80568615272, 1805.23678218424, 1856.36065999217, 
1679.99679942377, 1441.26238614602, 1936.44942937414, 2133.45057631534, 
1085.3150108096, 974.860473716478, 986.924868102327, 1037.83237831603, 
1312.30667301435, 1405.30585427792, 773.207242839713, 1277.61195650029, 
1772.52157942987, 1388.91468492248, 1391.06708726821, 1268.28478285902, 
1295.29415128352, 1143.11153240523, 1058.28457720443, 1476.33487734882, 
1673.26309468627, 1455.5231756649, 1015.5006665268, 1242.52404078483, 
1348.94246837961, 1301.55518283897, 1075.92047580797, 977.592546236365, 
1046.42643732053, 1426.81431935015, 1475.07415572278, 1455.23907789844, 
1649.60781234728, 1563.4820765323, 1642.9919422491, 1865.42560165599, 
1329.73932888637, 1795.37507081007, 2413.71424418505, 2499.48425942841, 
2007.68534251994, 2279.94325095388, 2250.84540282916, 1988.31215010309, 
2384.77641721496, 2719.39349513496, 2888.75729672066, 2955.42338126383, 
2908.70715866689, 2724.37859079958, 2901.46999203769), QR = c(1329.82725527258, 
1583.55443950606, 1562.33088797649, 1781.17227674256, 2239.26579940025, 
2283.51207558404, 1494.47266835451, 2079.21430793831, 2431.61659002079, 
2063.6712031744, 2279.01645480338, 2240.79817505811, 2537.08695503732, 
2357.25996541304, 2143.34894709899, 2963.42239899576, 3266.11822944487, 
3188.08984551795, 2053.72520969305, 1976.4907044215, 1974.33378516752, 
2314.19980193622, 1986.85089493789, 1717.7066077125, 1712.32576613411, 
2270.12697244457, 2265.44617869404, 2086.27614664055, 2290.16557632423, 
2067.56268776649, 2330.32100341616, 2594.45495623365, 1916.37409435704, 
2615.32977322989, 2994.09297309259, 3105.71799117356, 2608.13289994918, 
2781.32817927508, 2788.89468459625, 2814.41629406914, 2218.40404749475, 
2375.62820321149, 2454.40055519329, 2536.22462576871, 2673.39980127834, 
2883.60697407212, 2901.26428554182, 2759.19544971662, 3271.437201359, 
3023.01356721046, 2586.11651777101, NA, NA, 1028.27393956856, 
NA, NA, 1162.75652641982, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA)), class = c("grouped_df", "tbl_df", "tbl", "data.frame"
), row.names = c(NA, -100L), groups = structure(list(Site = c("TN_C1", 
"TN_C2"), .rows = structure(list(1:53, 54:100), ptype = integer(0), class = c("vctrs_list_of", 
"vctrs_vctr", "list"))), class = c("tbl_df", "tbl", "data.frame"
), row.names = c(NA, -2L), .drop = TRUE))

摘要 output 的summary(bai_trim)

Site                Year        Species           Sample.Depth       Method               BAI        
 Length:6102        Min.   :1793   Length:6102        Min.   :  5.00   Length:6102        Min.   :-410.3  
 Class :character   1st Qu.:1918   Class :character   1st Qu.: 15.00   Class :character   1st Qu.:1383.0  
 Mode  :character   Median :1945   Mode  :character   Median : 28.00   Mode  :character   Median :2031.3  
                    Mean   :1938                      Mean   : 25.26                      Mean   :2302.9  
                    3rd Qu.:1967                      3rd Qu.: 30.00                      3rd Qu.:2891.8  
                    Max.   :2014                      Max.   :105.00                      Max.   :8924.4 

sum(is.na(bai_trim)

sum(is.na(bai_trim))
[1] 0

Output of dput(new_df) on new_df = bai_trim %>% filter(Year > 1929, Year < 1977, Site == 'TN_C2')

 structure(list(Site = c("TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", 
"TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", 
"TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", 
"TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", 
"TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", 
"TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", 
"TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", 
"TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", 
"TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", 
"TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", 
"TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", 
"TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", 
"TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2", 
"TN_C2", "TN_C2", "TN_C2", "TN_C2", "TN_C2"), Year = c(1930L, 
1931L, 1932L, 1933L, 1934L, 1935L, 1936L, 1937L, 1938L, 1939L, 
1940L, 1941L, 1942L, 1943L, 1944L, 1945L, 1946L, 1947L, 1948L, 
1949L, 1950L, 1951L, 1952L, 1953L, 1954L, 1955L, 1956L, 1957L, 
1958L, 1959L, 1960L, 1961L, 1962L, 1963L, 1964L, 1965L, 1966L, 
1967L, 1968L, 1969L, 1970L, 1971L, 1972L, 1973L, 1974L, 1975L, 
1976L, 1930L, 1931L, 1932L, 1933L, 1934L, 1935L, 1936L, 1937L, 
1938L, 1939L, 1940L, 1941L, 1942L, 1943L, 1944L, 1945L, 1946L, 
1947L, 1948L, 1949L, 1950L, 1951L, 1952L, 1953L, 1954L, 1955L, 
1956L, 1957L, 1958L, 1959L, 1960L, 1961L, 1962L, 1963L, 1964L, 
1965L, 1966L, 1967L, 1968L, 1969L, 1970L, 1971L, 1972L, 1973L, 
1974L, 1975L, 1976L), Species = c("QA", "QA", "QA", "QA", "QA", 
"QA", "QA", "QA", "QA", "QA", "QA", "QA", "QA", "QA", "QA", "QA", 
"QA", "QA", "QA", "QA", "QA", "QA", "QA", "QA", "QA", "QA", "QA", 
"QA", "QA", "QA", "QA", "QA", "QA", "QA", "QA", "QA", "QA", "QA", 
"QA", "QA", "QA", "QA", "QA", "QA", "QA", "QA", "QA", "QR", "QR", 
"QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", 
"QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", 
"QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", 
"QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", "QR", 
"QR"), Sample.Depth = c(29L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 
30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 
30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 
30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 
29L, 29L, 29L, 30L, 31L, 31L, 31L, 31L, 31L, 31L, 31L, 32L, 32L, 
32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 
32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L, 
32L, 32L, 32L, 32L, 32L, 32L, 32L, 32L), Method = c("DBH", "DBH", 
"DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", 
"DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", 
"DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", 
"DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", 
"DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", 
"DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", 
"DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", 
"DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", 
"DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", 
"DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", "DBH", 
"DBH", "DBH"), BAI = c(1085.3150108096, 974.860473716478, 986.924868102327, 
1037.83237831603, 1312.30667301435, 1405.30585427792, 773.207242839713, 
1277.61195650029, 1772.52157942987, 1388.91468492248, 1391.06708726821, 
1268.28478285902, 1295.29415128352, 1143.11153240523, 1058.28457720443, 
1476.33487734882, 1673.26309468627, 1455.5231756649, 1015.5006665268, 
1242.52404078483, 1348.94246837961, 1301.55518283897, 1075.92047580797, 
977.592546236365, 1046.42643732053, 1426.81431935015, 1475.07415572278, 
1455.23907789844, 1649.60781234728, 1563.4820765323, 1642.9919422491, 
1865.42560165599, 1329.73932888637, 1795.37507081007, 2413.71424418505, 
2499.48425942841, 2007.68534251994, 2279.94325095388, 2250.84540282916, 
1988.31215010309, 2384.77641721496, 2719.39349513496, 2888.75729672066, 
2955.42338126383, 2908.70715866689, 2724.37859079958, 2901.46999203769, 
1028.27393956856, 1254.97727247239, 1180.00666939284, 1162.75652641982, 
1468.21393690705, 1420.29545487908, 870.636254692378, 1558.97134681397, 
1680.04973736316, 1807.98548193521, 1887.32063639148, 1916.04119222857, 
1949.52683704445, 1921.80868471893, 1600.62264826328, 1859.9149833578, 
2184.22704501268, 2364.39029270987, 1853.12296621112, 1533.22199599478, 
1797.1627135163, 1738.07965789397, 1687.15007187521, 1592.13731685411, 
1656.32266290939, 2337.09276793395, 2353.86414716497, 2290.38356871338, 
2562.25811266612, 2576.09112815194, 2595.90714922909, 2892.38644610441, 
1926.95398513788, 2040.79373628591, 2636.83713546072, 3216.10408623204, 
2399.34264253439, 2411.58302876301, 2150.87125164971, 2456.28295814168, 
2401.15926385922, 2525.4045600946, 2619.28151832898, 2869.37020856327, 
2457.47946097768, 2505.49431848312, 2343.63069935373)), class = c("grouped_df", 
"tbl_df", "tbl", "data.frame"), row.names = c(NA, -94L), groups = structure(list(
    Site = "TN_C2", .rows = structure(list(1:94), ptype = integer(0), class = c("vctrs_list_of", 
    "vctrs_vctr", "list"))), row.names = c(NA, -1L), class = c("tbl_df", 
"tbl", "data.frame"), .drop = TRUE))

我使用了您的 dataframe 在 1930-1976 之间过滤的站点:“TN_C2”到 pivot 更宽:

bai_wide = df %>% 
  pivot_wider(names_from = Species, values_from = BAI)

这是 output:

> bai_wide
# A tibble: 92 x 6
# Groups:   Site [1]
   Site   Year Sample.Depth Method    QA    QR
   <chr> <int>        <int> <chr>  <dbl> <dbl>
 1 TN_C2  1930           29 DBH    1085. 1028.
 2 TN_C2  1931           30 DBH     975.   NA 
 3 TN_C2  1931           29 DBH      NA  1255.
 4 TN_C2  1932           30 DBH     987.   NA 
 5 TN_C2  1932           29 DBH      NA  1180.
 6 TN_C2  1933           30 DBH    1038. 1163.
 7 TN_C2  1934           30 DBH    1312.   NA 
 8 TN_C2  1934           31 DBH      NA  1468.
 9 TN_C2  1935           30 DBH    1405.   NA 
10 TN_C2  1935           31 DBH      NA  1420.
# ... with 82 more rows

我们可以看到有很多Nas。 为什么? 因为您在Sample.Depth中有多个值。 因此,更宽地旋转只会为每个 Sample.Depth 分配值,因此您的列中将有空值。

可能的解决方案取决于您希望使用“深度”参数的精确程度。 这取决于您要进行的分析。

  1. 如果您不关心样本的深度,您可以只创建一个没有该列的新 df 然后旋转。

  2. 如果您只是关心但不是很精确,您可以将每年按站点和年份分组的深度值组合起来,并变异一个新列以使用深度的平均值。 >%> group_by(Site,Year) >%> mutate(meanDepth = mean())

  3. 只需保留 NAs 值,因为这是您的 dataframe 的方式。

  4. 尝试创建关系以使每个站点每年只有 1 行更改 Sample.Depth 有更困难的方法,但我没有足够的时间来详细说明。

这仅取决于您。 您必须知道的主要事情是 Sample.Depth 正在为您创建空值,因为 pivot_wider() 创建了与同一行中的其他列值相关的新列。

暂无
暂无

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

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