小编Wil*_*nao的帖子

如何在R中初始化空数据帧(同时批量列)

我找到了如何初始化3或4维的空数据框.就像是

df <- data.frame(Date=as.Date(character()),
             File=character(), 
             User=numeric(), 
             stringsAsFactors=FALSE)
Run Code Online (Sandbox Code Playgroud)

但是,使用大量列名初始化空data.frame的最有效方法是什么.喜欢

mynames <- paste("hello", c(1:10000))
Run Code Online (Sandbox Code Playgroud)

我试过的错误方法是:

df <- data.frame(mynames=numeric())
Run Code Online (Sandbox Code Playgroud)

非常感谢

r dataframe

26
推荐指数
1
解决办法
8万
查看次数

在R中打印与回声

我正在使用Rscript运行批处理.我想将消息打印到屏幕上就像bash中的"echo"一样.所以我使用"打印"功能.

问题是打印输出没有进入屏幕.它转到日志文件.有谁知道R中的echo相当于什么?

r echo batch-processing rscript

15
推荐指数
1
解决办法
2万
查看次数

"OSError:无法以二进制模式将对象数组写入文件"

它必定是那些日子之一.我一直能够使用函数tofile来保存数据.但由于某种原因,今天它没有工作:)

import numpy as np

blah.....

print(type(blist))
npdata = np.array(blist)
print(type(npdata))
npdata.tofile('myfile.dat')
Run Code Online (Sandbox Code Playgroud)

获取以下结果:

Traceback (most recent call last):
File "C:/context.py", line 67, in <module>
npdata.tofile('myfile.dat')
OSError: cannot write object arrays to a file in binary mode
<class 'list'>
<class 'numpy.ndarray'>
Run Code Online (Sandbox Code Playgroud)

所以它说我以二进制模式打开文件.但据我所知,我不是以二进制模式打开它.

编辑(问题解决后):当我发布这个问题时,我假设blist是一个整数列表.相反,它是一个整数列表的列表.问题是,当我创建它时,我得到的是一个dtype = object而不是我期待的dtype = int32.

士气:确保正确使用np.append/np.extend并始终明确设置dtype.

numpy scipy python-3.5

3
推荐指数
1
解决办法
1743
查看次数

表格带有"." 在它的名字

我试图使用sqlFetch.当我将表的名称更改为下划线而不是句点时,fetch工作正常.所以,如果我使用该命令

sqlFetch(conn, "HelloWorld_40")
Run Code Online (Sandbox Code Playgroud)

它工作正常.不幸的是,我的朋友们都在使用桌子的真实姓名

sqlFetch(conn, "HelloWorld.40")
Run Code Online (Sandbox Code Playgroud)

但它崩溃了,它告诉我

Error in sqlColumns(conn, "HelloWorld.40") : 
'HelloWorld.40': table not found on channel
Run Code Online (Sandbox Code Playgroud)

我猜这个时期"." 是表的非法名称.但我不希望我的朋友改变它,因为很多人会受到影响.有没有办法可以调用表格,或者我必须秘密进入他们的数据库,在我使用它时更改名称,然后将其更改回一段时间(冒着我会忘记,有人会读,等等等等) .

谢谢.

sql r rodbc

2
推荐指数
1
解决办法
876
查看次数

在R中过载Ampersand&operator

我喜欢用粘贴重载我的&符号运算符.这样我就可以轻松粘贴东西了.像这样:

R> "Hello" & " World"
 [1] "Hello World"
Run Code Online (Sandbox Code Playgroud)

我实现这一目标的方式是:

"&" <- function(...){paste(..., sep = "")}
Run Code Online (Sandbox Code Playgroud)

这一切都很好,花花公子,但你失去了使用&符作为自然"和"操作符的能力.什么是最好,最快速的最美妙的方式来重载我的&符号,以便它识别何时输入是合乎逻辑的?

TRUE & FALSE == FALSE
Run Code Online (Sandbox Code Playgroud)

等等

polymorphism r ampersand

2
推荐指数
1
解决办法
513
查看次数