我的数据看起来像这样:
cnme1 cnme2 year midonging midonset
USA RUS 1945 0 0
USA RUS 1946 0 1
USA RUS 1947 1 0
USA RUS 1948 1 0
USA RUS 1949 0 0
USA UK 1945 0 0
USA UK 1946 0 0
USA UK 1947 0 0
.
.
.
USA RUS 2010 0 0每一行由国家对偶年份和变量组成,这些变量表示国家对偶是否涉及某种类型的冲突。一些二元年份(美国-俄罗斯)持续多年的冲突,而另一些(美国-英国)没有任何冲突。
我想对那些在某个时候卷入了某种冲突的国家--二元组进行分类。因此,基本上消除了任何国家/地区(例如美国-英国)其中某些变量在整个时间内都被编码为“0”,并保留在二元历史中发生冲突的变量(例如,美国-叙利亚或美国-委内瑞拉)。
发布于 2021-02-06 03:56:15
您可以执行以下操作。
library(dplyr)
df %>% filter(midonging + midonset != 0)
# # A tibble: 3 x 5
# cnme1 cnme2 year midonging midonset
# <chr> <chr> <dbl> <dbl> <dbl>
# 1 USA RUS 1946 0 1
# 2 USA RUS 1947 1 0
# 3 USA RUS 1948 1 0Data
df <- structure(list(cnme1 = c("USA", "USA", "USA", "USA", "USA", "USA",
"USA", "USA"), cnme2 = c("RUS", "RUS", "RUS", "RUS", "RUS", "UK",
"UK", "UK"), year = c(1945, 1946, 1947, 1948, 1949, 1945, 1946,
1947), midonging = c(0, 0, 1, 1, 0, 0, 0, 0), midonset = c(0,
1, 0, 0, 0, 0, 0, 0)), row.names = c(NA, -8L), class = c("tbl_df",
"tbl", "data.frame"))发布于 2021-02-06 05:55:52
使用base R
df[rowSums(df[c("midonging", "midonset")]) >0,]https://stackoverflow.com/questions/66069322
复制相似问题