样本数据:
df<-data.frame(Country = c("FR", "FR", "US", "US", "US", "US", "AU", "UK", "UK", "UK"),
Name = c("Jean","Jean","Rose","Rose","Rose","Rose","Liam","Mark","Mark","Mark"),
A=c(2,NA,NA,1,3,NA,1,2,NA,NA),
B=c(2,5,NA,1,NA,2,1,NA,3,NA),
C=c(2,NA,4,1,NA,NA,NA,NA,NA,NA),
D=c(NA,3,NA,NA,4,4,1,2,4,4))
Input:
Country Name A B C D
1 FR Jean 2 2 2 NA
2 FR Jean NA 5 NA 3
3 US Rose NA NA 4 NA
4 US Rose 1 1 1 NA
6 US Rose 3 NA NA 4
7 US Rose NA 2 NA 4
8 AU Liam 1 1 NA 1
9 UK Mark 2 NA NA 2
10 UK Mark NA 3 NA 4
11 UK Mark NA NA NA 4
Desired output:
Country Name A B C D A B C D A B C D A B C D
1 FR Jean 2 2 2 NA NA 5 NA 3
2 US Rose NA NA 4 NA 1 1 1 NA 3 NA NA 4 NA 2 NA 4
3 AU Liam 1 1 NA 1
4 UK Mark 2 NA NA 2 NA 3 NA 4 NA NA NA 4
从数据中可以看出,目标是:
- 如果"国家/地区"和"名称"在后面的每一行中包含相同的数据,请将这些行中的列jian biao中的数据移动到新的jian biao列中。
- 我拥有的实际表并不只包含11行。在后续行中(第11行之后),Country和Name数据可能会重复1、2、3、... n次。我如何创建一个CONDITIONAL,以便只要下面的行相同,就自动移动ABCD中的数据以创建新的ABCD列?
2条答案
按热度按时间svujldwt1#
你不能有两个同名的列。我不知道这是否对你有帮助,但你可以这样做:
编号
输出
u59ebvdq2#