在 R 中重新格式化 CSV 文件

Reformatting CSV files in R

我正在尝试创建一个用于数据挖掘的 csv 文件,其中每个单独的实例都有一个属性 subject,它有 40 个可能的值,相应的 grade 也是一个属性。每个实例最多只能有 4 subjectsgrade。我如何在 excel 中创建一个 csv 文件,将每个主题 {p,q,r,s,t,u,v,w,x,y,z,aa,ab,...} 表示为一个 sub-attribute 的主题,并将等级 {A,B,C,D,E,F,O} 作为值,这样我就不会失去依赖性和关系。

它们显然是这样排列的 (subject->sub, grade->grd) 如下

|id|sex|sub1 |grd1 |sub2 |grd2 |sub3 |grd3 |sub4 |grd4 |
|--|---|-----|-----|-----|-----|-----|-----|-----|-----|
|1 |M  |x    |A    |y    |B    |u    |O    |s    |C    |
|2 |F  |p    |E    |aa   |E    |t    |A    |r    |B    |
|3 |M  |q    |B    |z    |D    |aa   |A    |v    |C    |
|4 |F  |t    |D    |ab   |O    |y    |B    |u    |A    |

我想把属性改成什么

|id|sex|subject                                        |
|--|---|-----------------------------------------------|
|1 |M  |x    |A    |y    |B    |u    |O    |s    |C    |
|2 |F  |p    |E    |aa   |E    |t    |A    |r    |B    |
|3 |M  |q    |B    |z    |D    |aa   |A    |v    |C    |
|4 |F  |t    |D    |ab   |O    |y    |B    |u    |A    |

提前致谢

已经很久了,但希望这对其他人有帮助。正如@Anony-Mousse 指出的那样,该格式不再是 csv 数据格式。字典等数据结构有助于这种表示。这里有两种可能的选择,您可以创建嵌套的字典和列表,或者数据的表示可以是宽格式。对于像 R 这样的语言,要将数据转换为长格式,您可以使用 reshape 包参考此 link。 https://stats.idre.ucla.edu/r/faq/how-can-i-reshape-my-data-in-r/