如何向 R 数据框中的一列添加其余所有列?
数据分析项目可能需要一些我们通常认为简单但实际上有助于实现目标的东西,其中一件事就是在 R 数据框中添加值或列。要将一列添加到其余的下一列,我们可以使用单个方括号将下一列替换为添加一列。
考虑以下数据框 −
示例
x1<-rnorm(20) x2<-rnorm(20) x3<-rnorm(20) x4<-rnorm(20) df1<-data.frame(x1,x2,x3,x4) df1
输出
x1 x2 x3 x4 1 1.85664999 -0.9065488762 0.293178644 0.55457359 2 0.44698508 0.9893899854 0.536684098 0.28302308 3 0.61888012 -0.4300288618 1.030952802 -0.25713481 4 -0.05365888 1.1227376933 1.382627238 2.00689788 5 0.03964954 2.2557976594 -0.902402177 -1.58164559 6 -0.66872443 -0.0004653294 2.125212420 -1.10464733 7 0.03000691 -0.7238778598 -0.669792673 0.30548849 8 -0.43260468 0.4872185286 0.197004732 -1.84113665 9 -0.95276898 -1.0384948791 -0.007177681 -1.59672437 10 -0.83272853 0.5075483877 0.585314160 0.72559385 11 -0.23842261 0.2950442950 0.593196270 -0.11921104 12 -0.17180004 -0.0105962399 0.927656280 -1.07630231 13 0.26177947 -0.2539494068 0.333217120 0.62433826 14 0.42988050 -0.5740571129 -0.727895313 -0.58763643 15 0.47914315 -0.3317974395 -1.502326687 -0.12933857 16 0.72317202 0.4056645753 0.720629400 1.51496596 17 -0.63108679 1.1358016229 -0.467778438 0.40033389 18 -0.39403524 -1.3937678989 -1.579988055 1.61907436 19 0.38662052 -0.2191345379 0.409531230 -2.50333812 20 -0.34579323 0.2170208774 0.441002799 0.08652698
在 df1 中将列 1 添加到列 2 至 4 −
示例
df1[2:ncol(df1)]<-df1[2:ncol(df1)]+df1[,1] df1
输出
x1 x2 x3 x4 1 1.85664999 0.950101112 2.14982863 2.4112236 2 0.44698508 1.436375070 0.98366918 0.7300082 3 0.61888012 0.188851261 1.64983293 0.3617453 4 -0.05365888 1.069078817 1.32896836 1.9532390 5 0.03964954 2.295447201 -0.86275264 -1.5419960 6 -0.66872443 -0.669189755 1.45648799 -1.7733718 7 0.03000691 -0.693870954 -0.63978577 0.3354954 8 -0.43260468 0.054613849 -0.23559995 -2.2737413 9 -0.95276898 -1.991263856 -0.95994666 -2.5494933 10 -0.83272853 -0.325180141 -0.24741437 -0.1071347 11 -0.23842261 0.056621690 0.35477366 -0.3576336 12 -0.17180004 -0.182396283 0.75585624 -1.2481024 13 0.26177947 0.007830061 0.59499659 0.8861177 14 0.42988050 -0.144176615 -0.29801481 -0.1577559 15 0.47914315 0.147345709 -1.02318354 0.3498046 16 0.72317202 1.128836595 1.44380142 2.2381380 17 -0.63108679 0.504714834 -1.09886523 -0.2307529 18 -0.39403524 -1.787803135 -1.97402329 1.2250391 19 0.38662052 0.167485982 0.79615175 -2.1167176 20 -0.34579323 -0.128772348 0.09520957 -0.2592662
示例
y1<-rpois(20,5) y2<-rpois(20,5) y3<-rpois(20,5) y4<-rpois(20,5) y5<-rpois(20,5) df2<-data.frame(y1,y2,y3,y4,y5) df2
输出
y1 y2 y3 y4 y5 1 11 5 3 2 9 2 7 4 6 11 3 3 2 4 3 5 5 4 3 4 3 8 5 5 7 5 6 6 3 6 3 4 5 6 8 7 4 6 5 7 4 8 6 4 6 5 3 9 6 2 4 8 8 10 7 8 3 3 4 11 2 10 01 2 5 12 7 7 2 6 1 13 8 5 6 3 2 14 5 5 4 9 4 15 5 5 6 5 7 16 6 4 8 9 4 17 3 3 5 9 0 18 5 4 3 5 2 19 5 6 9 11 4 20 4 4 3 4 10
在 df2 中将列 1 添加到列 2 至 5 −
示例
df2[2:ncol(df2)]<-df2[2:ncol(df2)]+df2[,1] df2
输出
y1 y2 y3 y4 y5 1 11 16 14 13 20 2 7 11 13 18 10 3 2 6 5 7 7 4 3 7 6 11 8 5 7 12 13 13 10 6 3 7 8 9 11 7 4 10 9 11 8 8 6 10 12 11 9 9 6 8 10 14 14 10 7 15 10 10 11 11 2 12 3 4 7 12 7 14 9 13 8 13 8 13 14 11 10 14 5 10 9 14 9 15 5 10 11 10 12 16 6 10 14 15 10 17 3 6 8 12 3 18 5 9 8 10 7 19 5 11 14 16 9 20 4 8 7 8 14
广告