“R:数据合并”的版本间的差异
Lichaoping(讨论 | 贡献) (→合并变量) |
Lichaoping(讨论 | 贡献) |
||
(未显示同一用户的3个中间版本) | |||
第1行: | 第1行: | ||
− | ==合并变量== | + | ==<span id="merge"></span>合并变量== |
如果您有不同的数据文件,每个数据文件包括同一批样本,但是每个文件包括不同的变量。在进行后续的统计分析之前,需要将这些数据合并,这个时候就是“合并变量”。 | 如果您有不同的数据文件,每个数据文件包括同一批样本,但是每个文件包括不同的变量。在进行后续的统计分析之前,需要将这些数据合并,这个时候就是“合并变量”。 | ||
第21行: | 第21行: | ||
mydata <- merge(mydata1,mydata2, by="caseid", all.y=TRUE) # 保存两个数据框中所有匹配数据以及mydata2中不匹配的数据 | mydata <- merge(mydata1,mydata2, by="caseid", all.y=TRUE) # 保存两个数据框中所有匹配数据以及mydata2中不匹配的数据 | ||
− | ==合并样本== | + | ==<span id="rbind"></span>合并样本== |
− | + | 如果您有不同的数据文件,每个数据文件包括不同的样本,变量相同。在进行后续的统计分析之前,需要将这些数据合并,这个时候就是“合并样本”。 | |
+ | |||
+ | 如果两个数据文件中的变量不同,则需要在合并之前,先对数据进行处理,确保两个数据框中的变量一样,您可以删除一个数据框中的部分变量,或者在另一个数据框中增加一些变量,并将其设为缺失值(即NA)。 | ||
+ | |||
+ | 如果您已经有两个数据框,分别为mydata1, mydata2,合并样本的方法如下: | ||
+ | |||
+ | mydata <- rbind(mydata1,mydata2) # 在合并之前,先将数据从数据文件读入数据框,并确保两个数据框中的变量数量、名称一样,顺序可以不一样。 |
2017年3月9日 (四) 07:56的最新版本
合并变量
如果您有不同的数据文件,每个数据文件包括同一批样本,但是每个文件包括不同的变量。在进行后续的统计分析之前,需要将这些数据合并,这个时候就是“合并变量”。
合并变量使用函数:merge(),merge函数的具体用法如下,如果您希望了解每个参数的具体含义和使用方法,可以在R控制台输入:? merge。
merge(x, y, by = intersect(names(x), names(y)), by.x = by, by.y = by, all = FALSE, all.x = all, all.y = all, sort = TRUE, suffixes = c(".x",".y"), incomparables = NULL, ...)
如果您已经有两个数据框,分别为mydata1, mydata2。合并变量需要在两个数据框里头有一个用来标识样本身份的变量,一般是根据这个变量对两个数据框中的样本进行匹配。这个变量在两个数据框中,可以名称相同(比如,都是caseid),也可以不同(比如,一个是caseid,一个是sampleid)。具体合并方法如下:
如果两个数据框中的身份变量一样,均为:caseid,则:
mydata <- merge(mydata1,mydata2, by="caseid")
如果两个数据框中的身份变量不一样,mydata1中为caseid,mydata2中为sampleid,则:
mydata <- merge(mydata1,mydata2, by.x="caseid, by.y="sampleid")
默认情况下,merge会删除两个数据框中任何不匹配的样本。如果您希望保存所有数据,使用all=TRUE;如果只想保存mydata1中的所有数据,使用all.x=TRUE;如果只想保存mydata2中的所有数据,使用all.y=TRUE,分别如下:
mydata <- merge(mydata1,mydata2, by="caseid", all=TRUE) # 保存两个数据框中所有匹配、不匹配的数据 mydata <- merge(mydata1,mydata2, by="caseid", all.x=TRUE) # 保存两个数据框中所有匹配数据以及mydata1中不匹配的数据 mydata <- merge(mydata1,mydata2, by="caseid", all.y=TRUE) # 保存两个数据框中所有匹配数据以及mydata2中不匹配的数据
合并样本
如果您有不同的数据文件,每个数据文件包括不同的样本,变量相同。在进行后续的统计分析之前,需要将这些数据合并,这个时候就是“合并样本”。
如果两个数据文件中的变量不同,则需要在合并之前,先对数据进行处理,确保两个数据框中的变量一样,您可以删除一个数据框中的部分变量,或者在另一个数据框中增加一些变量,并将其设为缺失值(即NA)。
如果您已经有两个数据框,分别为mydata1, mydata2,合并样本的方法如下:
mydata <- rbind(mydata1,mydata2) # 在合并之前,先将数据从数据文件读入数据框,并确保两个数据框中的变量数量、名称一样,顺序可以不一样。