将带有计数的宽数据帧转换为R中的长格式

将带有计数的宽数据帧转换为R中的长格式,r,R,我正在努力将数据转换为长格式 在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

我正在努力将数据转换为长格式

在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   
所以我有48人出席,0级有17066人缺席。其他级别类别也一样。 转换之后,新的长数据集将是一个长数据集。
我非常感谢你对这个问题的帮助。谢谢

如果我们需要复制,
在旋转到“long”格式后,在“value”列上取消计数

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
库(dplyr)
图书馆(tidyr)
数据集1%>%
pivot_longer(cols=-alcolevel,names_to='Y')%>%
未计数(值)%>%
不可抵抗
#A tibble:32573 x 2
#酒精室
#          
#10人出席
#20人出席
#30人出席
#40人出席
#50人出席
#60人出席
#70人出席
#80人出席
#9 0出席
#100人出席
#…还有32563行

谢谢!这帮了大忙!
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