我正在使用R将字符串写入文件:
> x1="\\str"
> x2="\\\str"
Error: '\s' is an unrecognized escape in character string starting "\\\s"
> x2="\\\\str"
> write(file='test',c(x1,x2))
Run Code Online (Sandbox Code Playgroud)
当我打开名为的文件时test
,我看到了这个:
\str
\\str
Run Code Online (Sandbox Code Playgroud)
如果我想得到一个包含5个反斜杠的字符串,我应该写10个反斜杠,像这样吗?
x="\\\\\\\\\\str"
Run Code Online (Sandbox Code Playgroud) 我的系统是:debian6 + r-2.15.
我已安装tcl-devel
并tk-devel
使用apt-get
:
apt-get install tcl8.5-dev tk8.5-dev
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误
> library("tcltk")
Error : .onLoad failed in loadNamespace() for 'tcltk', details:
call: fun(libname, pkgname)
error: Tcl/Tk support is not available on this system
In addition: Warning message:
S3 methods ‘$.tclvar’, ‘$<-.tclvar’, ‘as.character.tclObj’, ‘as.character.tclVar’,
‘as.double.tclObj’, ‘as.integer.tclObj’, ‘as.logical.tclObj’, ‘as.raw.tclObj’,
‘print.tclObj’, ‘[[.tclArray’, ‘[[<-.tclArray’, ‘$.tclArray’, ‘$<-.tclArray’,
‘names.tclArray’, ‘names<-.tclArray’, ‘length.tclArray’, ‘length<-.tclArray’,
‘tclObj.tclVar’, ‘tclObj<-.tclVar’, ‘tclvalue.default’, ‘tclvalue.tclObj’,
‘tclvalue.tclVar’, ‘tclvalue<-.default’, ‘tclvalue<-.tclVar’, ‘close.tkProgressBar’ were declared in NAMESPACE but not found
Error: package/namespace load failed …
Run Code Online (Sandbox Code Playgroud) 如果文件中有很多空白行,如何在R中使用readLines删除空白行?
我知道我可以用blank.lines.skip=T
in read.table
删除它,in readLines
呢?
另外,如何删除\n
带有readLines 的最后一个?
>str= "AAC|Australia Acquisition Corp. - Ordinary Shares|S|N|D|100"
> strsplit(str,"\\|")
[[1]]
[1] "AAC"
[2] "Australia Acquisition Corp. - Ordinary Shares"
[3] "S"
[4] "N"
[5] "D"
[6] "100"
Run Code Online (Sandbox Code Playgroud)
我不知道\\|
等于|
什么?
也许\\|
等于\|
,
为什么可以 strsplit(str,"\\|")
工作?
这是一个名为test的简单文件
Symbol|Security Name|Market Category|Test Issue|Financial Status|Round Lot Size
AAC|Australia Acquisition Corp. - Ordinary Shares|S|N|D|100
AACC|Asset Acceptance Capital Corp. - Common Stock|Q|N|N|100
AACOU|Australia Acquisition Corp. - Unit|S|N|N|100
File Creation Time: 0803201218:04|||||
Run Code Online (Sandbox Code Playgroud)
如果我不需要文件中的最后一行,我可以这样做:
data = read.table('test',sep='|')
data = data[1:(nrow(data)-1),1:ncol(data)]
Run Code Online (Sandbox Code Playgroud)
在读取文件时是否有另一种方法可以直接执行此操作?
当我使用 read.table 获取数据时,出现了一件奇怪的事情。
data=read.table('/home/tiger/nasdaqlisted.txt',head=T,sep='|')
dim(data)
[1] 750 6
Run Code Online (Sandbox Code Playgroud)
事实上,文件中有2454行,有什么问题吗?
http://freeuploadfiles.com/bb3cwypih2d2
请将文件下载到您的计算机中,然后运行:http:
//freeuploadfiles.com/bb3cwypih2d2
data=read.table("path/to/file", sep="|",quote='',
head=T,blank.lines.skip=T,as.is=T)
ddata=array(data,dim=c(nrow(data),ncol(data)))
ddata[1,1]
Run Code Online (Sandbox Code Playgroud)
我想提取第一列的第一个元素.答案应该是AAC
.
我怎么做?
以下是我的大数据文件的前几行:
Symbol|Security Name|Market Category|Test Issue|Financial Status|Round Lot Size
AAC|Australia Acquisition Corp. - Ordinary Shares|S|N|D|100
AACC|Asset Acceptance Capital Corp. - Common Stock|Q|N|N|100
AACOU|Australia Acquisition Corp. - Unit|S|N|N|100
AACOW|Australia Acquisition Corp. - Warrant|S|N|N|100
AAIT|iShares MSCI All Country Asia Information Technology Index Fund|G|N|N|100
AAME|Atlantic American Corporation - Common Stock|G|N|N|100
Run Code Online (Sandbox Code Playgroud)
我读了以下数据:
data <- read.table("nasdaqlisted.txt", sep="|", quote='', header=TRUE, as.is=TRUE)
Run Code Online (Sandbox Code Playgroud)
并构造一个数组和一个矩阵:
d1 <- array(data, dim=c(nrow(data), ncol(data)))
d2 <- matrix(data, nrow=nrow(data), ncol=ncol(data))
Run Code Online (Sandbox Code Playgroud)
然而,即使d1
是一个数组,d2
是一个矩阵,所述class
和mode
是相同的:
> class(d1)
[1] "matrix"
> mode(d1) …
Run Code Online (Sandbox Code Playgroud) 这是我的代码,是否有更简单的方法将虹膜更改为数组?
要求:当你改变它时,d [2,3] = iris [2,3] = 1.4
data(iris)
r=nrow(iris)
c=ncol(iris)
d=array(0,dim=c(r,c))
for (i in 1:r){
for (j in 1:c){
d[i,j]=iris[i,j]}}
Run Code Online (Sandbox Code Playgroud)