简体   繁体   English

为什么 NA 是从 pivot_wider 生成的?

[英]Why are NAs being produced from pivot_wider?

I am trying to pivot my dataframe from tidy format to wide format, using a column with two values, using the following:我正在尝试将 pivot 我的 dataframe 从整洁格式转换为宽格式,使用具有两个值的列,使用以下内容:

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

But when I do this, NAs are produced in the resulting dataframe.但是当我这样做时,在生成的 dataframe 中会产生 NA。 The values should match, and when I inspect the original dataframe I can't find any instances where they do not.这些值应该匹配,当我检查原始 dataframe 时,我找不到任何不匹配的实例。

I'm aware of this question being asked here , but it doesn't seem to address my issue我知道这里有人问这个问题,但它似乎没有解决我的问题

Output of dput(head(bai_trim, 100)) : 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))

Here is a sample of the resulting dataframe:这是生成的 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))

Summary output of summary(bai_trim) :摘要 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 

Output of sum(is.na(bai_trim) : 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') 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))

I used your dataframe filtered between 1930-1976 for Site: 'TN_C2' to pivot wider:我使用了您的 dataframe 在 1930-1976 之间过滤的站点:“TN_C2”到 pivot 更宽:

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

And this is the output:这是 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

We can see there is a lot of Nas.我们可以看到有很多Nas。 Why?为什么? Because you have multiple values in Sample.Depth .因为您在Sample.Depth中有多个值。 So pivoting wider only assign the values for each Sample.Depth, therefore you will have empty values in your columns.因此,更宽地旋转只会为每个 Sample.Depth 分配值,因此您的列中将有空值。

Possible solutions depend on how precise do you want to be using the Depth parameter.可能的解决方案取决于您希望使用“深度”参数的精确程度。 That depends on the analysis you want to do.这取决于您要进行的分析。

  1. If you dont care about the depth of the sample, you can just create a new df without that column and then pivoting.如果您不关心样本的深度,您可以只创建一个没有该列的新 df 然后旋转。

  2. If you just care but not really precise, you can combine the values of Depth for each year grouping by Site and Year and mutating a new column to use the mean of Depth.如果您只是关心但不是很精确,您可以将每年按站点和年份分组的深度值组合起来,并变异一个新列以使用深度的平均值。 Like >%> group_by(Site,Year) >%> mutate(meanDepth = mean())>%> group_by(Site,Year) >%> mutate(meanDepth = mean())

  3. Just keep the NAs values because this is the way your dataframe it is.只需保留 NAs 值,因为这是您的 dataframe 的方式。

  4. There are more difficult ways to try to create relations to only have 1 row per year per site altering Sample.Depth but I don't have enough time to elaborate.尝试创建关系以使每个站点每年只有 1 行更改 Sample.Depth 有更困难的方法,但我没有足够的时间来详细说明。

This just depend on you.这仅取决于您。 Main thing you have to know it is that Sample.Depth is creating you the empty values because pivot_wider() create the new columns related to the other column values which were in the same row.您必须知道的主要事情是 Sample.Depth 正在为您创建空值,因为 pivot_wider() 创建了与同一行中的其他列值相关的新列。

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

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