Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.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的字段末尾带有负正弦值_R_Sql Server_Dplyr_Data Manipulation - Fatal编程技术网

返回的列在R的字段末尾带有负正弦值

返回的列在R的字段末尾带有负正弦值,r,sql-server,dplyr,data-manipulation,R,Sql Server,Dplyr,Data Manipulation,我正试图在R Studio中的SQL Server中运行此代码 CASE WHEN COLUMN1 LIKE '%-%' THEN CAST((REPLACE(COLUMN1, '-', '') AS NUMERIC) * -1 ELSE COLUMN1 END VALUE 我使用的是数据表,因为我的文件有2 GB,我尝试使用以下方法: MYDATATABLE[, newfield:=ifelse((COLUMN1 %like% '-'), ***repl

我正试图在R Studio中的SQL Server中运行此代码

CASE 
   WHEN COLUMN1 LIKE '%-%' 
      THEN CAST((REPLACE(COLUMN1, '-', '') AS NUMERIC) * -1 
      ELSE COLUMN1 
END VALUE
我使用的是数据表,因为我的文件有2 GB,我尝试使用以下方法:

MYDATATABLE[, newfield:=ifelse((COLUMN1 %like% '-'), ***replace '-' for nothing and mutiply this for "-1"***, COLUMN1)]
返回的列begin在值的末尾带有负号-如下所示:

COLUMN1
--------
 55.400-
 60.440-
 61.280-
136.400-
506.333-

如果我正确理解了您的问题,那么您可以尝试两步流程

如果
col1
具有
-
,您可以在从
col1
中删除
-
后,通过指定
col1
数值的负数,而不是执行缓慢的
ifelse
,首先创建一个新列
new\u col
。然后将
new\u col
中的
NA
值替换为
col1
的数值

库(data.table)
DT[grepl(“-”,col1),
新列:=-as.numeric(gsub(“-”,“”,col1))][is.na(新列),新列:=as.numeric(col1)]

> DT
    col1 id new_col
1:  -123  1    -123
2: 1233-  2   -1233
3:    45  3      45

样本数据:

DT <- data.table(col1 = c("-123","1233-", "45"),
                 id = c(1,2,3))
#    col1 id
#1:  -123  1
#2: 1233-  2
#3:    45  3

DT(1)请使用SO编辑工具正确格式化代码。(2) 
MYDATATABLE[…]
似乎不是有效的R代码。中缀操作符
%如$
来自哪里?请您的问题包括一些样本数据和您的预期输出;我不清楚你想做什么。什么是“消极的罪恶”?你是说信号吗?签名?对不起,我没能很好地解释我真正想做什么,Prem的答案很有效。谢谢你的帮助。谢谢你!伟大的解决方案!