R 将重复的列折叠成行
我有一个从API中提取的数据帧。经过一些清洁后,它看起来像这样:R 将重复的列折叠成行,r,dataframe,reshape,R,Dataframe,Reshape,我有一个从API中提取的数据帧。经过一些清洁后,它看起来像这样: Title Year Rating Title Year Rating Title Year Rating Movie 1 1997 6.7 Movie 2 1987 8.2 Movie 3 2009 7.1 library(dplyr) library(tidyr) data %>% gather(variable, value) %>% mutate(
Title Year Rating Title Year Rating Title Year Rating
Movie 1 1997 6.7 Movie 2 1987 8.2 Movie 3 2009 7.1
library(dplyr)
library(tidyr)
data %>%
gather(variable, value) %>%
mutate(ID = rep(1:3, length.out = n() ) ) %>%
spread(variable, value)
列标题重复,在本例中,单行包含3个单独的条目
我该如何重塑它,以3列标题、年份、评级和3行电影1、电影2、电影3结尾
最简单的方法是什么?将input data.frame转换为列表,并根据常用列名将列拆分为组。然后取消列出每组列以在每组中生成一列,并转换回data.frame。如果DF中有多行,这也适用 给予:
Rating Title Year
1 6.7 Movie1 1997
2 8.2 Movie2 1987
3 7.1 Movie3 2009
注:我们假设此输入:
Lines <- "Title Year Rating Title Year Rating Title Year Rating
Movie1 1997 6.7 Movie2 1987 8.2 Movie3 2009 7.1"
DF <- read.table(text = Lines, header = TRUE, check.names = FALSE, as.is = TRUE)
将input data.frame转换为列表,并根据常用列名将列拆分为组。然后取消列出每组列以在每组中生成一列,并转换回data.frame。如果DF中有多行,这也适用 给予:
Rating Title Year
1 6.7 Movie1 1997
2 8.2 Movie2 1987
3 7.1 Movie3 2009
注:我们假设此输入:
Lines <- "Title Year Rating Title Year Rating Title Year Rating
Movie1 1997 6.7 Movie2 1987 8.2 Movie3 2009 7.1"
DF <- read.table(text = Lines, header = TRUE, check.names = FALSE, as.is = TRUE)
我想如果你从API中得到了数据,你的清理肯定出了什么问题。除了列顺序之外,您已经丢失了确定哪部电影的收视率和标题的所有信息 但无论如何,你可以这样做:
Title Year Rating Title Year Rating Title Year Rating
Movie 1 1997 6.7 Movie 2 1987 8.2 Movie 3 2009 7.1
library(dplyr)
library(tidyr)
data %>%
gather(variable, value) %>%
mutate(ID = rep(1:3, length.out = n() ) ) %>%
spread(variable, value)
我想如果你从API中得到了数据,你的清理肯定出了什么问题。除了列顺序之外,您已经丢失了确定哪部电影的收视率和标题的所有信息 但无论如何,你可以这样做:
Title Year Rating Title Year Rating Title Year Rating
Movie 1 1997 6.7 Movie 2 1987 8.2 Movie 3 2009 7.1
library(dplyr)
library(tidyr)
data %>%
gather(variable, value) %>%
mutate(ID = rep(1:3, length.out = n() ) ) %>%
spread(variable, value)
这可以通过melt from data.table完成,该表可以通过指定模式在度量中获取多个列
数据
这可以通过melt from data.table完成,该表可以通过指定模式在度量中获取多个列
数据