【发布时间】:2019-09-08 13:14:40
【问题描述】:
我有一个包含 627 个观察值和 16 个变量的数据框。我正在考虑一个名为“ZoneDivison”的列,其中包含以下因素:东北部、东部和东南部。 所以,我想比较相邻行的值并创建一个新列,如果两个相邻行具有相同的区域,则为 1,如果相邻行不同,则为 0。
我参考了以下链接来寻找出路: [这里]Matching two Columns in R [这里]compare row values over multiple rows (R)
library(dplyr)
a <- c(rep("Eastern",3),rep ("North Eastern", 6),rep("South Eastern", 3))
a=data.frame(a)
colnames(a)="ZoneDivision"
#comparing the zones
library(plyr)
ddply(n, .(ZoneDivision),summarize,ZoneMatching=Position(isTRUE,ZoneDivision))
Expected Result
ZoneDivision ZoneMatching
1 Eastern NA
2 Eastern 1
3 Eastern 1
4 North Eastern 0
5 North Eastern 1
6 North Eastern 1
7 North Eastern 1
8 North Eastern 1
9 North Eastern 1
10 South Eastern 0
11 South Eastern 1
12 South Eastern 1
Actual Result
ZoneDivision ZoneMatching
1 Eastern NA
2 North Eastern NA
3 South Eastern NA
我应该如何进行?请帮忙!!
【问题讨论】:
标签: r string if-statement compare rows