首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >丢弃二元数据的特定列值的行

丢弃二元数据的特定列值的行
EN

Stack Overflow用户
提问于 2021-02-06 03:17:26
回答 2查看 27关注 0票数 0

我的数据看起来像这样:

代码语言:javascript
复制
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”,并保留在二元历史中发生冲突的变量(例如,美国-叙利亚或美国-委内瑞拉)。

EN

回答 2

Stack Overflow用户

发布于 2021-02-06 03:56:15

您可以执行以下操作。

代码语言:javascript
复制
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        0

Data

代码语言:javascript
复制
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"))
票数 0
EN

Stack Overflow用户

发布于 2021-02-06 05:55:52

使用base R

代码语言:javascript
复制
df[rowSums(df[c("midonging", "midonset")]) >0,]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66069322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档