我有一个类似下面示例的数据框。我想复制数据框中的一列并重命名为另一个列名。
Name Age Rate
Aira 23 90
Ben 32 98
Cat 27 95
欲望输出是:
Name Age Rate Rate2
Aira 23 90 90
Ben 32 98 98
Cat 27 95 95
我该怎么办?谢谢。
答案 0 :(得分:12)
在用户@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).
复制,复制或复制的另一种选择:
#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
答案 1 :(得分:1)
使用dplyr
通过mutate
复制(复制)列:
df <- data.frame(
Name = c('Aira', 'Ben', 'Cat'),
Age = c(23, 32, 27),
Rate = c(90, 98, 95)
)
df %>%
mutate(Rate2 = Rate)
# Name Age Rate Rate2
# 1 Aira 23 90 90
# 2 Ben 32 98 98
# 3 Cat 27 95 95