使用重复列值排列值

问题描述 投票:-1回答:1

这是我在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中有可能这样做吗?我有一个非常庞大的数据以这种方式安排

r dataframe matrix
1个回答
1
投票

解决此问题的一种方法是提取具有重复宗地的行,然后合并。我这样做是为了一个最小的例子:

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)

你得到了输出

  parcel crop.x crop.y
1     11      a      b
2     12      c   <NA>
3     13      d      a

其中NA表示示例中的空单元格。这会解决您的问题吗?

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.