データを長い形式に変換するのに苦労しています
Rには、次のデータがあります。
alcolevel <- c(0,0.5,1.5,4.0,7.0)
present <- c(48,38,5,1,0)
absent <- c(17066,14464,788,126,37)
dataset1 <- data.frame(alcolevel,present,absent)
alcolevel present absent
1 0 48 17066
2 0.5 38 14464
3 1.5 5 788
4 4.0 1 126
5 7.0 0 37
データセット1を次のように変換したいと思います。
alcolevel Y
0 present
0 present
0 absent
0 absent
0 absent
. .
. .
. .
0.5 absent
0.5 present
0.5 present
0.5 present
. .
. .
. .
1.5 present
. .
. .
. .
7.0 present
7.0 present
したがって、アルコレベル0では48が存在し、17066は存在しません。他のアルコレベルカテゴリでも同じです。変換後、新しい長いデータセットは長いデータセットになります。この問題についての助けに感謝します。ありがとう
複製する必要がある場合はuncount
、「長い」形式にピボットした後の「値」列で
library(dplyr)
library(tidyr)
dataset1 %>%
pivot_longer(cols = -alcolevel, names_to = 'Y' ) %>%
uncount(value) %>%
as_tibble
# A tibble: 32,573 x 2
# alcolevel Y
# <dbl> <chr>
# 1 0 present
# 2 0 present
# 3 0 present
# 4 0 present
# 5 0 present
# 6 0 present
# 7 0 present
# 8 0 present
# 9 0 present
#10 0 present
# … with 32,563 more rows
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加