Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R中-根据条件写入输出csv文件_R - Fatal编程技术网

在R中-根据条件写入输出csv文件

在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

我是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.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")