【发布时间】:2019-02-09 20:15:47
【问题描述】:
我在 R 中工作,尝试使用 for 循环生成几个不同的向量。
首先,我创建了一个名为 df 的小型可重现示例数据框。
cluster.assignment <- c("1 Unknown", "1 Unknown", "2 Neuron","3
PBMC","4 Basket")
Value1 <- c("a","b","c","d","e")
Value2 <- c("191","234","178","929","123")
df <- data.frame(cluster.assignment,Value1,Value2)
df
cluster.assignment Value1 Value2
1 1 Unknown a 191
2 1 Unknown b 234
3 2 Neuron c 178
4 3 PBMC d 929
5 4 Basket e 123 .
接下来,我创建一个名为 clusters 的变量,其中包含我感兴趣的数据集的键。
clusters <- c("1 ","4 ")
这是我尝试使用 for 循环提取 df 中感兴趣的数据的行名。
for (COI in clusters) {
name2 <- c(gsub(" ","", paste("Cluster", COI, sep = "_")))
assign(Cluster_1, name2, envir = parent.frame())
name2 <- grep(COI, df$cluster.assignment)
}
所需的输出是两个向量,称为Cluster_1 和Cluster_4。
Cluster_1 将包含值 1 和 2
Cluster_4 将包含值 5
我似乎不知道如何将COI 变量的名称指定为输出向量的名称。
【问题讨论】:
-
COI取clusters的每个元素的值,即先是"1 ",后是"2 "。带空格的数字是一个非常糟糕的变量名称——这真的是您想要的,将 COI 变量的名称指定为输出的名称吗? -
在这种情况下是的,因为我正在挖掘其他人生成的现有数据集。