R 使用重复的列值排列值

R 使用重复的列值排列值,r,dataframe,matrix,R,Dataframe,Matrix,下面是我的示例数据,它是csv格式的,并导入到R中 Rowid parcel no crop area Area insured 1 122 cotton 0.9 1.2 2 111 soya 0.8 1.1 3 111 cotton 1.2 1.6

下面是我的示例数据,它是csv格式的,并导入到R中

Rowid   parcel no           crop    area    Area insured
1             122         cotton     0.9            1.2
2             111           soya     0.8            1.1
3             111         cotton     1.2            1.6
4              23           soya     0.7            1.5
5              45         cotton    0.23            1.3
6              45           soya     1.6            1.0
我想按计划安排

parcel no       crop    area    Area insured     crop   area.   Area insured
122           cotton     0.9            1.2         
111             soya     0.8            1.1      cotton 1.2      1.6
23              soya     0.7            1.5         
45            cotton    0.23            1.3      soya   1.6      .01

我想知道如何才能达到上述结果。有没有一种可能的方法可以在R中实现这一点?我有一个非常庞大的数据要以这种方式排列

解决这个问题的一种方法是提取带有重复地块的行,然后合并。我这样做只是为了一个简单的例子:

df<-data.frame(c(11,11,12,13,13),c("a","b","c","d","a"))
names(df)<-c("parcel","crop")
df1<-df[duplicated(df$parcel),]
df2<-df[!duplicated(df$parcel),]
merge(df2,df1,by="parcel",all.x=T,all.y=T)

dfI试图为您设置数据格式,因为没有应用任何格式(编写/编辑问题时,您可以选择将其设置为代码格式,您应该这样做),但实际上无法告诉这些列应该如何排列。从一个版本到下一个版本的逻辑是什么?是的,我知道代码的格式,但我不知道数据的安排。这与问题的研究影响无关。逻辑是第3行和第6行的包裹编号相同。我想根据示例输出中给出的棉花和大豆作物常见的包裹号来排列数据。当然,格式不是什么大问题。但是,您的问题没有明确解释您要做什么,如何从一个步骤过渡到下一个步骤(尝试创建宽幅数据,但没有额外的列名…?),或者您编写的代码到目前为止都不起作用。看一看写一个Thanx@tarion。这是按一列获取排列数据的好方法。我应用了这种方法,使行与地块编号列对齐。现在,我希望按照我的要求对数据进行排序。再次感谢,不客气。如果你觉得答案是有用的,可以考虑接受答案(勾选记号符号)。和/或你可能会考虑遵循卡米尔的建议来构造一个可重复的例子来获得更多答案。
  parcel crop.x crop.y
1     11      a      b
2     12      c   <NA>
3     13      d      a