在 data.frame 中对列进行制表,忽略 R 中元素的顺序

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

在下面的

DATA
中,我想知道如何
table()
变量
lang_comb
忽略顺序?

例如,

"english  spanish  french"
"french   english  spanish"
被视为相同。

有没有办法在 R 中以这种方式对变量

lang_comb
进行制表?

library(tidyverse)

DATA <- read.table(header=T, text="
ID  lang1    lang2    lang3
1   spanish  english  NA
2   english  spanish  french
3   russian  english  NA
4   french   english  spanish
5   english  russian  NA
6   english  french   NA")


combs <- DATA %>% 
  mutate(lang_comb = paste(lang1, lang2, lang3, sep=","))

with(combs, table(lang_comb))


     english,french,NA     english,russian,NA english,spanish,french french,english,spanish     russian,english,NA 
                     1                      1                      1                      1                      1 
    spanish,english,NA 
                     1 
r dataframe function dplyr frequency
1个回答
0
投票
DATA |>
  rowwise() |>
  mutate(lang = paste(sort(c_across(starts_with("lang"))), collapse = ",")) |>
  pull(lang) |>
  table()
© www.soinside.com 2019 - 2024. All rights reserved.