R 将两行合并在一起,同时维护初始数据
我正在努力将两个数据帧组合在一起——但是,两个数据帧都只包含一列,长度不同 我的第一个数据帧名为“FamilyID”,看起来是这样的:R 将两行合并在一起,同时维护初始数据,r,dataframe,R,Dataframe,我正在努力将两个数据帧组合在一起——但是,两个数据帧都只包含一列,长度不同 我的第一个数据帧名为“FamilyID”,看起来是这样的: FamilyID <- structure(list(Family_No = c(1034, 1056, 1064, 1091, 1101, 1101, 11, 113, 113, 1133, 1133, 115, 116)), row.names = c(NA, -13L), class = c("tbl_df", "t
FamilyID <- structure(list(Family_No = c(1034, 1056, 1064, 1091, 1101, 1101,
11, 113, 113, 1133, 1133, 115, 116)), row.names = c(NA, -13L), class = c("tbl_df",
"tbl", "data.frame"))
FID <- structure(list(Family_No = c(1034, 1034, 1056, 1056, 1064, 1064,
1091, 1091, 1101, 1101, 11, 11, 113, 113)), row.names = c(NA,
-14L), class = c("tbl_df", "tbl", "data.frame"))
FamilyID您可以使用以下代码行:
new_df <- data.frame(Family_No = cbind(c(FamilyID$Family_No, FID$Family_No)))
还可以将数据集(单列)放置在列表中和取消列表中以创建向量,然后用数据换行。frame
data.frame(Family_No = unlist(list(FamilyID, FID)))
使用rbind
。如果colnames不同,请将其与setNames
一起使用,这不是一个简单的rbind
<代码>rbind(家庭ID,FID)
这起作用了!我的输出和你的一样。我现在有没有办法重新排列数据,使匹配的值彼此对齐?我最终需要我的数据(这一列)像这样:1034 1034 1034 1056 1056 1064 1064 1064 1091 1091 1091 1101 1101等。您可以使用排序(new_df[,1],discreating=TRUE)
。这将按降序对列进行排序。
> new_df
Family_No
1 1034
2 1056
3 1064
4 1091
5 1101
6 1101
7 11
8 113
9 113
10 1133
11 1133
12 115
13 116
14 1034
15 1034
16 1056
17 1056
18 1064
19 1064
20 1091
21 1091
22 1101
23 1101
24 11
25 11
26 113
27 113
data.frame(Family_No = unlist(list(FamilyID, FID)))