我正在将操作从Excel Power Query移到R,这要快得多。结果是我有一个包含数千行的数据框,但是,我希望创建一个示例数据框,其中包含15列中5:10列的每个不同选项(因子级别)的一行。测试每个选项(例如真值表?)
我可以手动执行此操作,但是我想知道是否可以自动执行该操作。
col1 col2 col3
name option1 option2
name2 option1 option2
name3 option1 option2
name4 option2 option1
将被转换成这样的数据帧:
col1 col2 col3
name option1 option2
name4 option2 option1
任何帮助将不胜感激。
克里斯
答案 0 :(得分:1)
使用dplyr
:
library(dplyr)
d %>% distinct(col2, col3, .keep_all=T)
# col1 col2 col3
# 1 name option1 option2
# 2 name4 option2 option1
如果您只想将distinct
用于一列列,则可以首先匹配一个正则表达式:
d %>%
select(matches("[5-10]|[1]")) %>% # this selects only rows from 5 to 10 or 1 in the name
distinct(.keep_all=T)
这将是您的第一行"col1"
,以及所有行"col5"
至"col10"
。