R:取消列出为两列数据框(名称,值)

2023-12-23

我想从命名列表创建两列data.frame(),列表名称出现在第一列中,列表元素出现在第二列中。

我设法做到了这一点,这完成了工作,但远非优雅。

my_list <- 
  list("one_digit" = 0:9, "two_digits" = 10:29, "three_digits" = 100:111)

df <- 
  data.frame(from = names(unlist(my_list)), to = unlist(my_list), stringsAsFactors = TRUE)

df$from <- gsub("\\d+$","",df$from)

还有更优雅的解决方案吗?


将我的评论转换为答案,您可以使用stack从碱基 R 开始,或melt来自“重塑2”:

Here's stack:

head(stack(my_list), 15)
##    values        ind
## 1       0  one_digit
## 2       1  one_digit
## 3       2  one_digit
## 4       3  one_digit
## 5       4  one_digit
## 6       5  one_digit
## 7       6  one_digit
## 8       7  one_digit
## 9       8  one_digit
## 10      9  one_digit
## 11     10 two_digits
## 12     11 two_digits
## 13     12 two_digits
## 14     13 two_digits
## 15     14 two_digits

Here's melt:

head(melt(my_list), 15)
##    value         L1
## 1      0  one_digit
## 2      1  one_digit
## 3      2  one_digit
## 4      3  one_digit
## 5      4  one_digit
## 6      5  one_digit
## 7      6  one_digit
## 8      7  one_digit
## 9      8  one_digit
## 10     9  one_digit
## 11    10 two_digits
## 12    11 two_digits
## 13    12 two_digits
## 14    13 two_digits
## 15    14 two_digits

这两种方法之间的一个区别是melt即使列表没有名称,也会自动创建“L1”列,并且也适用于嵌套列表。

head(melt(unname(my_list)), 15)
##    value L1
## 1      0  1
## 2      1  1
## 3      2  1
## 4      3  1
## 5      4  1
## 6      5  1
## 7      6  1
## 8      7  1
## 9      8  1
## 10     9  1
## 11    10  2
## 12    11  2
## 13    12  2
## 14    13  2
## 15    14  2
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R:取消列出为两列数据框(名称,值) 的相关文章

  • ggplot `facet_grid` 标签被切断

    In ggplot 当使用facet grid space free y 如果组内的点数较少 则分面标题会被截断 例如 library tidyverse d lt tibble x factor 1 40 y rnorm 40 g c r
  • R 脚本自动化时的不同结果

    以下命令对 pdf 文件执行 Ghostscript 这pdf file变量包含该 pdf 的路径 bbox lt system paste C gs gs8 64 bin gswin32c exe sDEVICE bbox dNOPAUS
  • 如何获得 STAN 中最大似然估计的标准误差?

    我在 Stan 中使用最大似然优化 但不幸的是optimizing 函数不报告标准错误 gt MLb4c lt optimizing get stanmodel fitb4c data win data init inits STAN OP
  • 替换列表列表中的元素

    The applyR 中的函数是简化 for 循环以获得输出的好方法 是否有一个等效的函数可以帮助人们在替换向量的值时避免 for 循环 通过示例可以更好地理解这一点 Take this list for example x list li
  • 如何提取与 R 中主题 ID 列表匹配的行?

    我有一个包含许多主题 ID 的数据框 每个主题都有重复观察 我还有一个单独的数据框 其中只有一个主题 ID 列表 我想从更大的数据框中匹配和提取 如何以允许我引用不同数据帧中的SubjectID列表的方式编写代码 不确定我是否完全理解这个问
  • 从 R 中的向量中选择所有可能的元组

    我正在尝试用 R 编写一个程序 当给定一个向量时 将返回所有可能的tuples http en wikipedia org wiki Tuples该向量中的元素 例如 元组 c a b c c a b c 出租车 c a c c b c c
  • 如何在R中计算文本中的句子数?

    我使用 R 将文本读入readChar 功能 我的目的是测试文本句子中字母 a 出现次数与字母 b 出现次数一样多的假设 我最近发现了 stringr 包 它帮助我对文本做很多有用的事情 例如计算字符数以及整个文本中每个字母出现的总数 现在
  • Pandas DataFrame:如果列为空,则复制列的内容

    我有以下带有命名列和索引的 DataFrame a a b b 1 5 NaN 9 NaN 2 NaN 3 3 NaN 3 4 NaN 1 NaN 4 NaN 9 NaN 7 数据源导致某些列标题的复制方式略有不同 例如 如上所述 某些列标
  • 如何对同一列上的数据帧列表中的所有数据帧进行排序?

    我有一个数据框列表dataframes list 举个例子 我把dput dataframes list 在底部 我想对列列表中的所有数据框进行排序enrichment 我可以对一个数据框进行排序 first dataframe lt da
  • numpy.histogram 的 hist 维度,密度 = True

    假设我有这个数组 A array 0 0019879 0 00172861 0 00527226 0 00639585 0 00242005 0 00717373 0 00371651 0 00164218 0 00034572 0 008
  • 如何用外部图像填充地图边界?

    我正在创建一张带有州边界的巴西地图 这可以直接使用ggplot2 and geom sf 然而 这一次 我不想用数据填充每个状态的颜色 而是想用外部图像 png 填充每个状态的边界 类似于this https online olivet e
  • 计算每个唯一值出现的次数

    假设我有 v rep c 1 2 2 2 25 现在 我想计算每个唯一值出现的次数 unique v 返回唯一值是什么 但不返回它们的数量 gt unique v 1 1 2 我想要一些能给我的东西 length v v 1 1 25 le
  • 如何从 Fortran 调用 R 函数?

    根据http gallery rcpp org articles r function from c http gallery rcpp org articles r function from c Rcpp 允许用户从 C 调用 R 函数
  • 在shiny中过滤传单地图数据

    我在用传单地图设置这个闪亮的东西时遇到了麻烦 我的原帖 https stackoverflow com questions 50111566 applying leaflet map bounds to filter data within
  • R中的一元加/减是什么?

    来自 R 的详细信息部分Syntax http stat ethz ch R manual R patched library base html Syntax html帮助页面 定义了以下一元和二元运算符 他们被列出 在优先级组中 从最高
  • 如何计算R中移动窗口内的平均斜率

    我的数据集包含2个变量y 和 t 05s y 每 05 秒测量一次 我正在尝试计算移动中的平均坡度20秒窗口 即计算第一个 20 秒斜率值后 窗口向前移动一个时间单位 05 秒 并计算下一个 20 秒窗口 在以下位置生成连续 20 秒斜率值
  • 替换 pandas 数据框中的点

    我有一个如图所示的数据框 数字实际上是对象 正在做df treasury rate pd to numeric df treasury rate 可预见的炸弹 然而 做df replace np nan 似乎没有摆脱这个点 所以我很困惑 有
  • 通过间接引用列来修改数据框中的某些值

    我正在整理一些数据 我们将失败的数据分类到垃圾箱中 并按批次计算每个分类箱的有限产量 我有一个描述排序箱的元表 这些行按升序测试顺序排列 一些排序标签带有非语法名称 sort tbl lt tibble tribble weight lab
  • 时间戳半小时窗口内字段的平均值

    我的数据框有列名Timestamp es看起来像 Timestamp es 2015 04 01 09 07 42 31 2015 04 01 09 08 01 29 5 2015 04 01 09 15 03 18 5 2015 04 0
  • 将其元素添加到另一个列表后清除列表

    我正在做一个程序 它获取更多句子作为参数 我制作了 2 个列表 一个称为 propozitie 其中包含每个句子 另一个称为 propozitii 其中包含所有句子 问题是 当我在遇到 后清除 propozitie 列表时 它也会清除 pr

随机推荐