【问题标题】:How transform all the variables of a data.table of one row to single values如何将一行数据表的所有变量转换为单个值
【发布时间】:2019-10-05 05:35:16
【问题描述】:

我创建了 DT,将值放在一个表中:

a <- 2
b <- 20
c <- 0.3
DT <- data.table(a, b, c)

假设我只生成了 DT。 怎么能从DT生成a,b,c(单值)

感谢和最好的问候, 嘘

【问题讨论】:

标签: r variables datatable transform wrangle


【解决方案1】:

这是基本的 R 知识。我建议你上一门基础课程(试试install.packages(swirl),或datacamp),并注意基本的子集部分。

【讨论】:

  • 我不是说1比1,假设DT是1*50,我不想写50次。没想到只需要 3 行代码就可以完成这样的操作。
【解决方案2】:

$或表示表格中的“单元格”。有很多方法可以做到这一点。

library(data.table)
a <- 2
b <- 20
c <- 0.3
DT <- data.table(a, b, c)
DT
> DT
   a  b   c
1: 2 20 0.3
x <- DT$a
y <- DT$b
z <- DT$c
DT2 <- data.table(x, y, z)
DT2
> DT2
   x  y   z
1: 2 20 0.3
xa <- DT[1,1]
yb <- DT[1,2]
zc <- DT[1,3]
DT3 <- data.table(xa, yb, zc)
DT3
> DT3
   a  b   c
1: 2 20 0.3

【讨论】:

  • 对不起,我的问题不明确,我的意思是让它不是一个变量一个变量,而是所有变量。如果 DT 是 1 乘 n,我不想写 n 次子集。
  • 鉴于此评论和下面的一些 cmets,我对您期望输出的数据结构有点好奇。如果您的 DT 是 3 列和 3 行,您是否期望输出为 9 个变量? 3 个列表(或向量),每个列表代表一行?如果您期望输出为 9 个变量(在我的示例中),则不清楚为什么需要这样做。当你想使用它们时,为什么不单独从 DT 中提取值呢?
  • DT 是一个宽表(1 x n),列出了 n 个参数:a、b、c、d.... 我期望从数据表中提取 R studio 中的所有这些参数作为值并将它们称为值而不是每次都设置子集。我想将它们全部放在 data.table 之外,我不想将它们一个一个子集化为 DT$a, DT$b 但我想将它们全部作为值获取,其中 a 获取值 2,b 获取所有 n 个参数的值为 20,依此类推。现在是不是更清楚一点了? @bbiasi您可以在数据表中一个一个地子集一个值(基本的r now-how)还是您也可以这样做?无论如何,感谢您的努力。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-09-19
  • 2013-01-04
  • 1970-01-01
  • 2020-10-06
  • 2023-01-06
  • 2021-11-21
  • 2021-12-21
相关资源
最近更新 更多