作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前有一个以篮子格式设置的表,以便与表的每一行相关联的数据量不规则。如:
01,item1,item2,item3
02,item1,item2,
03,item1,item2,item3,item4
04,item1
但是,我需要将其更改为标准化事务格式,每行只有一个项目。如:
01,item1
01,item2
01,item3
02,item1
02,item2
03,item1
...等等。有没有一种简单的自动化或编程方式来做到这一点?数据当前位于 MySQL 数据库中,我可以将其导出为各种文件类型,并且我还可以访问 RStudio 和 Microsoft Excel 来尝试执行此操作。我可以找到的 RStudio 的所有事务资源都假设数据已经采用第二种格式,这正是我想要实现的。
最佳答案
我假设我了解将数据集读入 R 后的外观,即,它将是一个矩形数据框,其中填充了 NA 以使行的长度相同。所以这应该可以解决问题:
#Create your dataset (this step is not for you)
row1 = c("01","item1","item2","item3",NA)
row2 = c("02","item1","item2",NA,NA)
row3 = c("03","item1","item2","item3","item4")
row4 = c("04","item1",NA,NA,NA)
Data = rbind(row1,row2,row3,row4)
#Now do the reconstruction (this step is for you)
col1 = NULL
col2 = NULL
for(i in 1:nrow(Data)){
col1 = c(col1,rep(Data[i],ncol(Data)-1))
col2 = c(col2,Data[i,-1])
}
NewData = cbind(col1,col2)[!is.na(col2),]
所以,你得到的是以下内容
> Data
[,1] [,2] [,3] [,4] [,5]
row1 "01" "item1" "item2" "item3" NA
row2 "02" "item1" "item2" NA NA
row3 "03" "item1" "item2" "item3" "item4"
row4 "04" "item1" NA NA NA
>
> NewData
col1 col2
[1,] "01" "item1"
[2,] "01" "item2"
[3,] "01" "item3"
[4,] "02" "item1"
[5,] "02" "item2"
[6,] "03" "item1"
[7,] "03" "item2"
[8,] "03" "item3"
[9,] "03" "item4"
[10,] "04" "item1"
希望这会有所帮助。
关于mysql - 将篮子转换为单个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14820045/
我正在开发一个小型 JavaScript 应用程序,用户可以单击页面上的按钮并将其传递到他们的购物篮。我这样做的问题是我不确定在同一个函数中处理多个按钮。我不想为每个按钮写出不同的功能。 我正在尝试
我是一名优秀的程序员,十分优秀!