簡體   English   中英

使用 pivot_wider 函數時,列中出現 n/a

[英]I get n/a in columns when using the pivot_wider function

在此處輸入圖片說明

當我執行以下代碼時:

data_ikea_wider <- data_ikea_longer %>%
  pivot_wider(id_cols = c(Record_no
                          , Geography
                          , City
                          , Country
                          , City.Country
                          , Year)
                          , names_from = Category, values_from = Value)

這些列只有 n/a,如附加的打印屏幕所示。

我究竟做錯了什么? 謝謝!

從樞軸獲取NA並不意外,這意味着並非所有 id 列都具有所有“列”。

例如,

dat <- data.frame(col1 = c(1,1,2), col2 = c('a', 'b', 'a'), val = 1:3)
dat
#   col1 col2 val
# 1    1    a   1
# 2    1    b   2
# 3    2    a   3

如果我們想要保持col1作為 id 並將col2值轉換為新列,那么很明顯我們最終會得到兩行(ida 12 )和兩個新列( ab )替換col2val 不幸的是,由於我們只有三行,因此 2 行 2 列 = 4 個單元格不會被 3 個值完全填充,因此其中一個將是NA

pivot_wider(dat, col1, names_from = col2, values_from = val)
# # A tibble: 2 x 3
#    col1     a     b
#   <dbl> <int> <int>
# 1     1     1     2
# 2     2     3    NA

如果您看到這一點並感到驚訝,認為您確實擁有數據......那么您應該檢查您的數據導入和過濾,以確保您沒有無意中刪除它(或者最初沒有提供)。

我們可以使用dcastdata.table

library(data.table)
setDT(dat)[, col1 ~ col2, value.var = 'val')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM