【问题标题】:R: Convert all data frame rows to character vectorsR:将所有数据帧行转换为字符向量
【发布时间】:2019-03-11 10:40:13
【问题描述】:

我有一个从combinations 函数返回的矩阵,类似于:

combinations(3, 2, v=c("Yes", "No", "Maybe"))

它返回一个有 2 列的矩阵,包含 3 个字符串的 2×2 组合:

     [,1]    [,2] 
[1,] "Maybe" "No" 
[2,] "Maybe" "Yes"
[3,] "No"    "Yes"

我想创建一个数据框(或小标题),类似于:

    values
[1] c("Maybe", "No")
[2] c("Maybe", "Yes")
[3] c("No", "Yes")

只有一列包含原始列的向量。 我需要这个 sapply 每行一个函数。

有没有优雅的解决方案? (例如没有for 循环)

【问题讨论】:

    标签: r dataframe matrix type-conversion row


    【解决方案1】:

    我们可以按行split 并将其转换为tibble 并带有list 列'values'

    library(tidyverse)
    library(gtools)
    combinations(3, 2, v = c("Yes", "No", "Maybe")) %>% 
       split(seq_len(nrow(.))) %>%
       tibble(values = .)
    

    或者另一种选择是通过uniting 每一行的元素来创建一个字符串

    combinations(3, 2, v = c("Yes", "No", "Maybe")) %>% 
       as_tibble %>%
       unite(values, V1, V2, sep=", ")
    

    【讨论】:

      猜你喜欢
      • 2023-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-27
      • 1970-01-01
      • 2021-10-20
      • 1970-01-01
      • 2018-11-24
      相关资源
      最近更新 更多