我编写了一个使用75(!!!)嵌套ifelse语句的代码.
我知道它可能是我写的最低效的代码,但当我尝试运行它时,我收到以下错误:
>Error: unexpected ')' in:
" ifelse(basic$SEMType=="ppc" &
(grepl("Wellpoint Prospecting",basic$CategoryName)), "Wellpoint Prospecting","other"
)))))))))))))))))))))))))))))))))))))"
Run Code Online (Sandbox Code Playgroud)
我检查并加倍检查")"的数量.它的正确和ifelse关闭.
我还试图通过块运行嵌套的ifelse,一次运行15个(有时候更大的块)并且它可以工作,所以我认为语法错误的可能性很低.
有没有人遇到过这样的限制?
我现在首先运行代码块内部ifelse并记录结果并向上移动通道.到目前为止,这似乎有效.
我正在尝试读取由分隔的csv文件(最初更改扩展名的日志文件).
无论如何简单readLines
或read.delim
不作为"þ"作为分隔符,默认函数会产生一个圆柱形data.frame
当我试图打印数据框时,我得到:
temp <- readLines("sample.csv")
temp
[1] "12-31-2014-21:01:11þ0þþ4382037þ8048852þ286809041þ60534606þ1þ0x0þ1594842þ107607879þþ256þMDþ28þ0.0þ22þ13þ14915þ20646þþ1420088471"
[2] "12-31-2014-21:01:16þ0þþ4382037þ8048852þ286810825þ60533173þ1þ160x600þ1594842þ107606862þþ256þMDþ28þ0.0þ22þ13þ14915þ20646þþ1420088476"
[3] "12-31-2014-21:13:24þ0þþ4382037þ8048852þ286811019þ60532482þ1þ728x90þ1594842þ107607879þþ256þAZþ27þ0.0þ7þ189þ13541þ85747þþ1420089204"
[4] "12-31-2014-21:35:04þ2453419343309111450þþ4479850þ8209375þ283421530þ58729626þ1þ1x2þ1685249þ110242400þþ256þCOþ5þ9.0þ22þ171þ14885þ80120þþ1420090504"
[5] "12-31-2014-21:07:22þ2453942989496582297þþ4382037þ8048852þ284408073þ59306057þ1þ728x90þ1594842þ107607879þþ256þGAþ26þ0.0þ22þ26þ14981þ30093þþ1420088842"
Run Code Online (Sandbox Code Playgroud)
现在我试图解析它strsplit(temp,"þ")
并收到:
[[1]]
[1] "12-31-2014-21:01:11?0??4382037?8048852?286809041?60534606?1?0x0?1594842?107607879??256?MD?28?0.0?22?13?14915?20646??1420088471"
[[2]]
[1] "12-31-2014-21:01:16?0??4382037?8048852?286810825?60533173?1?160x600?1594842?107606862??256?MD?28?0.0?22?13?14915?20646??1420088476"
[[3]]
[1] "12-31-2014-21:13:24?0??4382037?8048852?286811019?60532482?1?728x90?1594842?107607879??256?AZ?27?0.0?7?189?13541?85747??1420089204"
[[4]]
[1] "12-31-2014-21:35:04?2453419343309111450??4479850?8209375?283421530?58729626?1?1x2?1685249?110242400??256?CO?5?9.0?22?171?14885?80120??1420090504"
[[5]]
[1] "12-31-2014-21:07:22?2453942989496582297??4382037?8048852?284408073?59306057?1?728x90?1594842?107607879??256?GA?26?0.0?22?26?14981?30093??1420088842"
Run Code Online (Sandbox Code Playgroud)
或者gsub("þ"," ",temp)
只返回原始印刷品.
这甚至变得"怪异",因为如果我将从控制台复制并粘贴一行并运行:
temp1 <- "12-31-2014-21:01:11þ0þþ4382037þ8048852þ286809041þ60534606þ1þ0x0þ1594842þ107607879þþ256þMDþ28þ0.0þ22þ13þ14915þ20646þþ1420088471"
Run Code Online (Sandbox Code Playgroud)
然后运行strsplit(temp1,split="þ")
我会得到:
[[1]]
[1] "12-31-2014-21:01:11" "0" "" "4382037" "8048852" "286809041"
[7] "60534606" "1" "0x0" "1594842" "107607879" ""
[13] "256" "MD" "28" "0.0" "22" "13"
[19] "14915" "20646" "" "1420088471"
Run Code Online (Sandbox Code Playgroud)
我的最终目标是获得这种解析:22个不同列的数据框.
我已将此"sample.cav"文件加载到以下链接:
https://drive.google.com/file/d/0B4Krk6hHv0GoUUp4NkhmT1l2ZDQ/view?usp=sharing …