其他分享
首页 > 其他分享> > R语言中tidyverse包中gather函数(将数据转换为一列)

R语言中tidyverse包中gather函数(将数据转换为一列)

作者:互联网

 

001、

library(tidyverse)                                         ## 加载包
dat <- data.frame(a = c(400, 100, 300, 500),               ## 测试数据框
                  b = c("xxx", "mmm", "nnn", "yyy"),
                  c = c(333, 777, 888, 222))
dat
gather(dat, key = 'items',value = 'values')                ## 利用gather函数将dat数据框转换为一列

 

 

002、手动函数实现

dat <- data.frame(a = c(400, 100, 300, 500),                     ## 测试数据框
                  b = c("xxx", "mmm", "nnn", "yyy"),
                  c = c(333, 777, 888, 222))
dat
result <- data.frame()
for (i in 1:ncol(dat)) {                                         ## 利用循环实现
  for (j in 1:nrow(dat)) {
    result <- rbind(result, c(colnames(dat)[i],dat[j,i]))  
  }
}
names(result) <- c("items", "values")
result    

 

标签:包中,函数,tidyverse,##,gather,dat
来源: https://www.cnblogs.com/liujiaxin2018/p/16625884.html