从Excel表

时间:2017-02-01 22:20:20

标签: r

我需要在数据框上创建一个“垂直视图”才能执行关联规则。我通过将以下Excel表读入R:

来创建数据框
dataset_c <- read.table("crimeschicago2014to2016correction.csv", sep=",", header=TRUE) 

enter image description here

创建垂直视图意味着所有列都转换为单独的行,并且这些行包含它们在原始表中的ID。因此重复相同的ID,直到该ID的原始行中的所有列都被转换为它们各自的行。因此,上表将如下所示:

ID 9446748 - CaseNumber HX100020

ID 9446478 - Date 1/1/2014 0:00

ID 9446478 - Block 006XX N DEARBORN ST

ID 9446478 - IUCR 890

ID 9446478 - PrimaryType THEFT

ID 9446478 - Description FROM BUILDING

ID 9446846 - CaseNumber HX100086 

etc.

我之前尝试过的所有方法都涉及到移植表格,但是并没有像上面的例子中那样重复ID。请注意,结果表也必须是数据框。

1 个答案:

答案 0 :(得分:1)

您可以使用

实现此目的
library(tidyr)
gather(iris, key, value, -Species)

#      Species          key value
#1       setosa Sepal.Length   5.1
#2       setosa Sepal.Length   4.9
#3       setosa Sepal.Length   4.7
#4       setosa Sepal.Length   4.6
#5       setosa Sepal.Length   5.0

我正在使用示例数据iris,您可以用数据框替换它。

这可能是一个重复的问题,请参阅例如this answer for the reshaping from long to wide format