我有一个数据框,如下面的示例.我想复制数据框中的列并重命名为另一个列名.
Name Age Rate
Aira 23 90
Ben 32 98
Cat 27 95
Run Code Online (Sandbox Code Playgroud)
欲望输出是:
Name Age Rate Rate2
Aira 23 90 90
Ben 32 98 98
Cat 27 95 95
Run Code Online (Sandbox Code Playgroud)
我该怎么做?谢谢.
And*_*lva 13
在用户@thelatemail的帮助下回答.
df = read.table(sep="",
header=T,
text="Name Age Rate
Aira 23 90
Ben 32 98
Cat 27 95")
df$Rate2 = df$Rate #create column 'Rate2' and make it equal to 'Rate' (duplicate).
Run Code Online (Sandbox Code Playgroud)
复制,复制或'复制'的另一种选择:
#use ?replicate function, which replicates elements over vectors and lists.
n = 3 #replicate 3 new columns
df3 = cbind(df, replicate(n,df$Rate)) #replicate from column "Rate" in the df object
df3 #plot df3 output
Name Age Rate 1 2 3
1 Aira 23 90 90 90 90
2 Ben 32 98 98 98 98
3 Cat 27 95 95 95 95
Run Code Online (Sandbox Code Playgroud)
dplyr使用mutate以下方法实现列的复制(制作副本):
df <- data.frame(
Name = c('Aira', 'Ben', 'Cat'),
Age = c(23, 32, 27),
Rate = c(90, 98, 95)
)
df <- df %>%
mutate(Rate2 = Rate)
# Name Age Rate Rate2
# 1 Aira 23 90 90
# 2 Ben 32 98 98
# 3 Cat 27 95 95
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26864 次 |
| 最近记录: |