【发布时间】:2017-11-13 05:10:16
【问题描述】:
在 R 中,我需要读取制表符分隔的文本文件,但只需要读取第 1 列(字符串)等于特定字符串的行。有人告诉我,我可以使用with() 函数执行此操作,但无法完成。我可以在 2 个语句中执行此操作,但我需要使用 with() 在 1 个语句中执行此操作。
这是我使用这两个语句的方法:
dF <- read.table(file, header=TRUE, sep="\t", na='-999')
dF <- subset(dF,dF$C1=="value")[,-1]
由于我在第 1 列上进行过滤,因此我还将在新数据框中将其删除。
这可以在一个with() 函数中完成吗?如果是这样,我还可以在相同的表达式中显示结果吗?索引会有帮助吗?我不知道如何使索引为此工作。
提前谢谢你!
【问题讨论】:
-
为什么需要使用
with?另外,你正在做一个行子集,所以我认为with无论如何都不合适。 -
您是否将
with与which混淆了?你可以像这样使用which做子集:df [which (df[['C1']] == "value"),]编辑:另见this question -
这是家庭作业的一部分 :( 教师要求我们使用
with函数为 value 行创建逻辑测试并使用删除第一列的负索引。通常情况下,我不会将两行都挤成一个,但我在这里没有太多选择。
标签: r dataframe subset with-statement