在R中-根据条件写入输出csv文件
我是R的新手。 我正在写一个程序 (a) 正在读取输入文件(.csv)-此文件有3列(均为数字) (b) 根据第3列的条件(例如–第3列的值大于100),将向输出文件添加一条新记录。 我在写“如果”条款时遇到了问题 当我写作时在R中-根据条件写入输出csv文件,r,R,我是R的新手。 我正在写一个程序 (a) 正在读取输入文件(.csv)-此文件有3列(均为数字) (b) 根据第3列的条件(例如–第3列的值大于100),将向输出文件添加一条新记录。 我在写“如果”条款时遇到了问题 当我写作时 if (as.numeric(fld 3) > 100) { x <- data.frame(computed fld1, computed fld 2, computed fld3) write.tab
if (as.numeric(fld 3) > 100)
{
x <- data.frame(computed fld1, computed fld 2, computed fld3)
write.table(x, "outputfile.csv", sep=",",append=TRUE, quote=FALSE,
col.names=FALSE, row.names=FALSE)
}
接下来,我尝试了以下方法
cond <- as.numeric(x_compare) > 99.99
cond 99.99
但我不清楚——如何捕获'cond'的“真实”值,以便将新记录写入输出文件
任何关于如何构建程序这一部分的建议都是非常受欢迎的。下面是一个虚拟数据集的示例:
set.seed(4)
df <- data.frame(v1=sample(1:100, 20, replace=T),
v2=sample(1:100, 20, replace=T),
v3=sample(80:150, 20, replace=T))
output <- split(df, df$v3>100)[[2]]
write.csv(output, "outputfile.csv")
set.seed(4)
df您需要检查数据集中的NA
s
as.numeric(NA)
是NA
。而NA>99
也是NA
根据R文件:
用法
if(cond)expr
cond
长度为一个非NA的逻辑向量。长度大于
一个元素当前被接受并带有警告,但仅使用第一个元素。
当环境变量
_R_检查_长度_1_条件_设置为真。其他类型强制为逻辑类型
如果可能,忽略任何类
因此,cond
不能是NA
你能把你的数据集打印出来吗
set.seed(4)
df <- data.frame(v1=sample(1:100, 20, replace=T),
v2=sample(1:100, 20, replace=T),
v3=sample(80:150, 20, replace=T))
output <- split(df, df$v3>100)[[2]]
write.csv(output, "outputfile.csv")