我正在尝试使用mutate创建一个新列,但不是一个我得到7。
Output<-Total.Cancer%>%
gather(Cancer,Total)%>%
bind_cols(D.Total)%>%
bind_cols(Death.Total)%>%
mutate(Non.D.Total=Total-D.Total)
我得到的输出会创建多列Non.D.Total
Cancer Total Total.D Non D Deaths D Deaths Non.D.Total. Non.D.Total.
1 Cancer 1 11111 111 1111 11 11111 11111
2 Cancer 2 111111 1111 11111 111 111111 111111
3 Cancer 3 111111 1111 11111 111 111111 111111
4 Cancer 4 11111 111 1111 11 11111 11111
5 Cancer 5 11111 111 1111 11 11111 11111
6 Cancer 6 11111 111 1111 11 11111 11111
7 Cancer 7 111111 1111 11111 111 111111 111111
Non.D.Total. Non.D.Total. Non.D.Total. Non.D.Total. Non.D.Total.
1 11111 11111 11111 11111 11111
2 111111 111111 111111 111111 111111
3 111111 111111 111111 111111 111111
4 11111 11111 11111 11111 11111
5 11111 11111 11111 11111 11111
6 11111 11111 11111 11111 11111
7 115418 115418 115418 115418 115418
我不想要额外的六列。我相信这是因为变异命令后面跟着变异,但我并不积极。
答案 0 :(得分:0)
您需要改变列名,而不是要添加的数据框。下面是一个玩具示例,我尝试在数据框中添加SN。
DF1 <- data.frame("SN" = 1203:1208)
DF2 <- data.frame("SN" = 1203:1208)
DF1 %>% bind_cols(DF2) %>% mutate(sum = DF1 + DF2)
SN SN1 sum. sum. sum. sum. sum. sum.
1 1203 1203 2406 2406 2406 2406 2406 2406
2 1204 1204 2408 2408 2408 2408 2408 2408
DF1 %>% bind_cols(DF2) %>% mutate(sum = SN + SN1)
SN SN1 sum
1 1203 1203 2406
我不清楚你想要的结果是什么,但这样的事情可能就是你所需要的(?):
Output<-Total.Cancer%>%
gather(Cancer,Total)%>%
bind_cols(D.Total)%>%
bind_cols(Death.Total)%>%
mutate(Non.D.Total=Total-Total.D)
请注意,我们不是在调用数据框,而是调用数据框中要修改的列。