R 我想从现有csv创建一个新的csv,该csv包含多个相同的列,但不包含排序数据

R 我想从现有csv创建一个新的csv,该csv包含多个相同的列,但不包含排序数据,r,R,我有一个包含以下数据的CSV: List Rank.A List Rank.B List Rank.C a 4 a 8 b 3 b 5 e 5 e 9 c 7 f 5 r 1 我想创建一个新的csv,其中只有一列具有唯一值的名称列表,同一列表中还有3列“Rank.a”、“Rank.B”、“Rank.C”。假设Ran

我有一个包含以下数据的CSV:

 List  Rank.A  List   Rank.B  List  Rank.C
   a      4      a      8      b      3
   b      5      e      5      e      9
   c      7      f      5      r      1
我想创建一个新的csv,其中只有一列具有唯一值的名称列表,同一列表中还有3列“Rank.a”、“Rank.B”、“Rank.C”。假设Rank.A未与列表的任何行一起列出,则其显示为空。我想要这种格式的数据

List    Rank.A    Rank.B    Rank.C
  a       4         8      
  b       5                   3
  c       7      
  e                 5         9
  f                 5
  r                           1

你能帮我一下吗?

一个基本R选项,使用
拆分.default
(按列拆分
数据.frame
)和
减少
+
合并
将数据合并成一个
数据.frame

Reduce(
函数(x,y)合并(x,y,all=TRUE),
split.default(df,rep(1:(ncol(df)/2),每个=2)))
#列出等级。A等级。B等级。C等级
#1 a 4 8 NA
#2 b 5 NA 3
#3c7na
#4 e NA 5 9
#5f-NA-5na
#6r-NA-NA-1
请注意,这假设您的原始数据中始终有成对的列(
List
Rank.x


样本数据
df