从数据创建 R 向量

标签 r

在 r 中,我试图弄清楚如何查找 A、B、C、D 等中包含哪些区域。例如,A 包含 540、300、330。而 C 包含区域 330。

我想将它们保存到一个向量中,例如 A = [540,300,330] 和 C = [300],以及 D = [540, 330]

数据:

Area    A   B   C   D
540     Y           Y    
300     Y       Y
330     Y           Y

我正在考虑使用summaryBy语句。但这并没有给我想要的结果。

 summaryBy(Area ~ A, FUN=(length))

最佳答案

您可以通过以下方式获取包含所需内容的 list() 对象:

lapply(dat[c("A","B","C","D")], function(x) dat$Area[x=="Y"] )
#$A
#[1] 540 300 330
#
#$B
#integer(0)
#
#$C
#[1] 300
#
#$D
#[1] 540 330

几乎没有理由填充单独的 AB 等变量。

如果您想要一个包含值和索引的“整洁”2 列数据框,您可以将上述内容包装在 stack(...) 中。

关于从数据创建 R 向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44318742/

相关文章:

r - knitr/jekyll/server::jekyll 图像很大或分辨率不高

Rcpp::compileAttributes() 不更新 .R 文件

r - 在 Shiny 中对静态图像进行动画处理

r - 使用 R 更改数据框中所有列的所有值,特定列除外

r - 了解 RStudio 的工作区选项卡 lm 表示法

r - 即使不需要,如何在 R 的 quote() 中保留 `backticks` ?

从 R 中的 TclTk GUI 返回变量

r - 具有 osrm walk 或 foot profile 的服务器可在 R 中使用吗?

r - 带 fst 的 bit64 整数

r - 手动 API 速率限制