所以,我有一个人类变种的.tsv文件。
我需要在data.frame
这个文件的所有行中存储一个精确的名称,并将它们保存在另一个文件中。我正在尝试使用这个脚本:
data = read.table(file.choose(), sep = '\t', header = TRUE)
variant = readline("Insert variant:")
store <- data.frame(matrix(NA, ncol = ncol(data)))
colnames(store) = colnames(data)
for (i in 1:nrow(data))
{
if (data[i,3] == variant)
{
store[i,] = as.data.frame(data[i,], stringsAsFactors = FALSE)
}
}
但是因为我在data.frame,
中使用了一个矩阵,它当然只存储了数字数据。有关如何解决此问题以及如何直接在.tsv文件中编写循环输出的任何想法?
答案 0 :(得分:0)
如果丢弃行可行,您需要的是一个子集,如:
store <- data[ data[[3]] == variant, ]
data[[3]]
在这里查看第三列,我们将其与variant
进行比较。因此,我们通过仅采用第三列与data
匹配的行来对variant
进行分组。