如果名称与R中的列匹配,如何组合数据框和命名向量?
如果我们有一个数据帧,其中包含一个字符列和一个命名向量,其名称与数据帧的字符列中的名称相同,则可以通过使用match函数适当定义名称和字符列。请查看以下示例,了解如何完成此操作。
示例
考虑下面的数据帧df1和向量v1-
df1<-data.frame(ID=LETTERS[1:20],x1=rpois(20,2))输出结果df1
ID x11 A 0
2 B 3
3 C 2
4 D 0
5 E 0
6 F 1
7 G 3
8 H 3
9 I 2
10 J 5
11 K 2
12 L 2
13 M 0
14 N 2
15 O 3
16 P 1
17 Q 1
18 R 3
19 S 2
20 T 2
示例
vector1<-rnorm(20)输出结果names(vector1)<-LETTERS[1:20]
vector1
A B C D E F-1.65864624 -0.72535815 -0.03602353 -0.20926615 -1.09707354 -1.09361827
G H I J K L
0.24223290 1.50364961 2.29867732 -0.35459921 -1.78608099 -0.72382906
M N O P Q R
0.12124456 0.76206838 -0.43075989 2.25536662 1.59808504 -0.57818726
S T
-0.40555227 0.66445552
匹配列ID和vector1-
示例
df1$vector1<-vector1[match(df1$ID,names(vector1))]输出结果df1
ID x1 vector11 A 0 -1.65864624
2 B 3 -0.72535815
3 C 2 -0.03602353
4 D 0 -0.20926615
5 E 0 -1.09707354
6 F 1 -1.09361827
7 G 3 0.24223290
8 H 3 1.50364961
9 I 2 2.29867732
10 J 5 -0.35459921
11 K 2 -1.78608099
12 L 2 -0.72382906
13 M 0 0.12124456
14 N 2 0.76206838
15 O 3 -0.43075989
16 P 1 2.25536662
17 Q 1 1.59808504
18 R 3 -0.57818726
19 S 2 -0.40555227
20 T 2 0.66445552
示例
df2<-data.frame(S.No=letters[1:20],x1=rpois(20,10))输出结果df2
S.No x11 a 9
2 b 8
3 c 9
4 d 6
5 e 13
6 f 3
7 g 13
8 h 9
9 i 9
10 j 6
11 k 12
12 l 6
13 m 7
14 n 11
15 o 6
16 p 21
17 q 9
18 r 13
19 s 7
20 t 8
示例
vector2<-rnorm(20)输出结果names(vector2)<-letters[1:20]
vector2
a b c d e f-1.547152763 -1.111071378 -1.358744699 -0.462245640 0.167145269 -0.635510940
g h i j k l
0.020973365 0.258797947 0.381109857 -0.001844913 0.198083754 -0.057121043
m n o p q r
-0.319798254 -1.597529879 -0.403896403 0.577767115 -1.237463132 -0.734332249
s t
-0.252412566 0.957530025
匹配列S.No和向量2-
示例
df2$vector2<-vector2[match(df2$S.No,names(vector2))]输出结果df2
S.No x1 vector21 a 9 -1.547152763
2 b 8 -1.111071378
3 c 9 -1.358744699
4 d 6 -0.462245640
5 e 13 0.167145269
6 f 3 -0.635510940
7 g 13 0.020973365
8 h 9 0.258797947
9 i 9 0.381109857
10 j 6 -0.001844913
11 k 12 0.198083754
12 l 6 -0.057121043
13 m 7 -0.319798254
14 n 11 -1.597529879
15 o 6 -0.403896403
16 p 21 0.577767115
17 q 9 -1.237463132
18 r 13 -0.734332249
19 s 7 -0.252412566
20 t 8 0.957530025
以上是 如果名称与R中的列匹配,如何组合数据框和命名向量? 的全部内容, 来源链接: utcz.com/z/358857.html