将“符号”中的值列转换/透视/转置为列名称,并将当前列名称转换为 R 语言中的值列[关闭]

2024-04-13

这些是输出之前和之后的镜头。 我正在寻找这个问题的所有可能的解决方案,越简单越好。我是 R 新手,所以我不确定如何很好地使用任何数据操作包。我相信这是一个关键的情况。 目标是获取“符号”列中的值并将它们设为列名称,并将当前列名称设为“GSM1573135”,... 并将这些列名称转换为列,最终输出的示例如下第二个表所示。

下表是我要改造的表格:

  Symbol  GSM1573135  GSM1573160  GSM1573175 GSM1573186  GSM1573132
1  STAT1  0.29600048 -0.60394290 -0.10135269  0.2308369 -0.13862038
2  GAPDH -0.06155872  0.59726906  0.18338203 -0.4480076  0.13947392
3   ACTB -0.03187084  0.13835812  0.03187466 -0.7396250 -0.09272575
4  PRPF8  0.29218674  0.13059807  0.18707657 -0.3613615 -0.04664040
5 CAPNS1  0.28366375  0.69432163  0.01103115 -0.9594564 -0.13679028

下表是转换后的表格:

   GSM ID        STAT1      GAPDH       ACTB        PRPF8       CAPNS1
1  GSM1573135  0.29600048 -0.06155872 -0.03187084  0.29218674  0.28366375 
2  GSM1573160 -0.60394290  0.59726906  0.13835812  0.13059807  0.69432163
3  GSM1573175 -0.10135269  0.18338203  0.03187466  0.18707657  0.01103115
4  GSM1573186  0.2308369  -0.4480076  -0.7396250  -0.3613615  -0.9594564
5  GSM1573132 -0.13862038  0.13947392 -0.09272575 -0.04664040 -0.13679028


获取长格式的数据,更改变量并以宽格式返回:

library(tidyr)
df %>%
  pivot_longer(cols = -Symbol) %>%
  pivot_wider(names_from = Symbol, values_from = value)

#  name        STAT1   GAPDH    ACTB   PRPF8  CAPNS1
#  <chr>       <dbl>   <dbl>   <dbl>   <dbl>   <dbl>
#1 GSM1573135  0.296 -0.0616 -0.0319  0.292   0.284 
#2 GSM1573160 -0.604  0.597   0.138   0.131   0.694 
#3 GSM1573175 -0.101  0.183   0.0319  0.187   0.0110
#4 GSM1573186  0.231 -0.448  -0.740  -0.361  -0.959 
#5 GSM1573132 -0.139  0.139  -0.0927 -0.0466 -0.137 

data.table :

library(data.table)
dcast(melt(setDT(df), id.vars = 'Symbol'), variable~Symbol, value.var = 'value')

data

df <- structure(list(Symbol = c("STAT1", "GAPDH", "ACTB", "PRPF8", 
"CAPNS1"), GSM1573135 = c(0.29600048, -0.06155872, -0.03187084, 
0.29218674, 0.28366375), GSM1573160 = c(-0.6039429, 0.59726906, 
0.13835812, 0.13059807, 0.69432163), GSM1573175 = c(-0.10135269, 
0.18338203, 0.03187466, 0.18707657, 0.01103115), GSM1573186 = c(0.2308369, 
-0.4480076, -0.739625, -0.3613615, -0.9594564), GSM1573132 = c(-0.13862038, 
0.13947392, -0.09272575, -0.0466404, -0.13679028)), 
class = "data.frame", row.names = c(NA, -5L))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将“符号”中的值列转换/透视/转置为列名称,并将当前列名称转换为 R 语言中的值列[关闭] 的相关文章

  • R foreach问题(某些进程返回NULL)

    我遇到了问题foreach我正在 R 中使用的程序的一部分 该程序用于运行不同参数的模拟 然后将结果返回到单个列表 然后用于生成报告 当并非所有分配的模拟运行都在报告上实际可见时 就会出现问题 从各方面来看 似乎只有分配的运行的一个子集实际
  • 纵向序列数据的三次样条方法?

    我有一个串行数据 格式如下 time milk Animal ID 30 25 6 1 31 27 2 1 32 24 4 1 33 17 4 1 34 33 6 1 35 25 4 1 33 29 4 2 34 25 4 2 35 24
  • 如何计算R中移动窗口内的平均斜率

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

    我知道这里有一些关于每隔一段时间分割一个字符串的答案nth字符 例如this one https stackoverflow com questions 23208490 split each character in r and this
  • 为什么 dplyr filter() 不能在函数内工作(即使用变量作为列名)?

    使用 dplyr 函数对数据进行过滤 分组和变异的函数 基本管道序列在函数之外工作得很好 这就是我使用真实列名称的地方 将其放入一个函数中 其中列名称是一个变量 并且某些函数可以工作 但有些函数则不能 尤其是 dplyr filter 例如
  • ddply 和aggregate 之间的区别

    有人可以通过以下示例帮助我了解聚合和 ddply 之间的区别 数据框 mydat lt data frame first rpois 10 10 second rpois 10 10 third rpois 10 10 group c re
  • 基于时间窗口的不规则时间序列的优化滚动函数

    有没有办法使用 rollapply 来自zoo包或类似的东西 优化功能 rollmean rollmedian等 使用基于时间的窗口计算滚动函数 而不是基于大量观察的函数 我想要的很简单 对于不规则时间序列中的每个元素 我想计算一个具有 N
  • 更改闪亮 R 中的默认浏览器

    我在 RStudio 中使用 01 hello 虽然在 IE 中默认打开程序时它不会显示直方图 但即使在 Chrome 中 滑块也不起作用 我无法滑动条形图并看到直方图中的变化 如何更改 R 中的默认浏览器 以便闪亮启动 Chrome 而不
  • 在 r 中的 group_by 之后建模后取消列表列的嵌套

    我想对所有组进行线性回归group by 将模型系数保存在列表列中 然后使用 unnest 扩展列表列 这里我用的是mtcars以数据集为例 注 我想用do here becausebroom tidy 不适用于所有型号 mtcars gt
  • 如何获得所有大于x且有位置的数字?

    V lt c 1 3 2 4 2 3 1 X lt 3 pos lt V V X pos is 3 3 我需要的是所有 3 个的位置 I need 2 and 6 哪些职位是3 in V Use which pos lt which V 3
  • 如何在 R 或 Python 中制作旭日图?

    到目前为止 我一直无法找到一个可以创建旭日图的 R 库约翰 斯塔斯科 http www cc gatech edu gvu ii sunburst 有人知道如何在 R 或 Python 中实现这一点吗 在极坐标投影中使用 matplotli
  • 使用 ggmap 截断密度多边形

    我在使用 R ggmap 绘制密度图时遇到问题 我的数据如下所示 gt head W date lat lon dist 1 2010 01 01 31 942 86 659 292 415 2 2010 01 10 32 970 84 1
  • R 中用于调用 sed、rsync、ssh 等的 system() 的替代方案:函数是否存在,我应该编写自己的函数,还是我错过了重点?

    最近 我发现了base files命令 与其他命令一起使用 例如getwd write lines file show dir等等 似乎有许多 bash 函数的 R 等价物 我还在 R 中编写了一些函数来简化对ssh and rsync通过
  • R“错误:“}”中出现意外的“}”[重复]

    这个问题在这里已经有答案了 我有一个字符串变量 对于缺少数据的情况 它具有 空值 我想将 空值 重新编码为缺失 而不是说 空值 我正在尝试编写一个循环来删除这些 空值 条目 但我不断收到错误 错误 中出现意外的 for row in dat
  • R:使用 tidyverse 将 NA 替换为 df 中的其他变量

    我想使用 tidyverse 替换 df 中的 NA 值 我想要的值应该从其他列中计算出来 input ID X1 X2 X3 A 0 96 NA 0 97 B 1 00 NA 1 01 C 0 98 0 03 NA A 1 00 NA 1
  • 使用 template.docx 从 Shiny App 编织 Word 文档

    我正在尝试使用 template docx 文件从闪亮的应用程序编写一个 Word 文档 我收到以下错误消息 pandoc exe template docx openBinaryFile 不存在 没有这样的文件或目录 以下 3 个文件当前
  • 如何绘制具有显着性水平的箱线图?

    前段时间问了一个关于绘制箱线图的问题Link1 https stackoverflow com questions 14604439 plot multiple boxplot in one graph 我有一些包含 3 个不同组 或标签
  • 无法更改 RStudio 中的 R 版本

    我的 RStudio V 0 99 491 无法更改 R 版本 我以平常的方式行事Global Options gt R Version 然后它挂起并且不再工作或反应 R 运行良好的初始版本是R 3 1 0 我以前从未遇到过这样的问题 也许
  • 在 Shiny 中的用户会话之间共享反应数据集

    我有一个相当大的反应数据集 该数据集是通过轮询文件然后按预定义的时间间隔读取该文件而派生的 数据更新频繁 需要不断重新加载 诚然 重新加载可以增量完成并附加到 R 中的现有对象 但事实并非如此 然而目前 尽管会话中的数据相同 但此操作是针对
  • 线性判别分析图

    如何将样本 ID 行号 作为标签添加到此 LDA 图中的每个点 library MASS ldaobject lt lda Species data iris plot ldaobject panel function x y points

随机推荐