我目前正在对500GB文本文件进行UNIX排序(通过Windows机器上的GitBash).由于运行的主磁盘上的空间,我已经使用了-t选项临时文件直接到磁盘,我有足够的空间来容纳整个文件.问题是,我一直在看磁盘空间,显然临时文件已经超过了原始文件.我不知道有多少进一步的,这是要去的,但我想知道如果有是,我可以预测多少空间,我需要为临时文件的规则.
有没有可以直观显示R代码的工具?
我需要理解几个脚本之间的一些非常复杂的R代码.这样做的部分困难在于,有如此多的嵌套函数和变量,它会被证明是非常缓慢的,需要手动完成它并找出连接到什么的东西.
如果有一些方法可以从R代码生成流程图,我认为我的任务可能会更容易,这样我就可以立刻看到它.当然,我可以在浏览代码时绘制一张地图,但不应该以编程方式执行此操作吗?有没有现成的工具可以做到这一点?
我找到了一个名为R AnalyticFlow的程序,但似乎是使用GUI来制作脚本,而我想要的东西可以接受代码并使其成为人们在AnalyticFlow中绘制的东西.
我正在尝试制作一个 geom_point,其中文本标签既排斥又指向它们的关联点,即使我使用的是 position=dodge 或 position=jitter。我也有很多要点要标注,这就是为什么我想使用 ggrepel 或类似的东西。我的理解是我不能使用 ggrepel 的位置参数。
有什么办法可以得到这样的图,除了段指向它们的关联点?
require(ggplot2)
require(ggrepel)
data("mtcars")
mtcars$cyl <- as.factor(mtcars$cyl)
mtcars$am <- as.factor(mtcars$am)
require(ggplot2)
require(ggrepel)
dodge = position_dodge(1)
ggplot(mtcars, aes(x = am, y=mpg)) +
geom_point(size=3, position=dodge, alpha=0.5, aes(color=cyl)) +
geom_text_repel(data = mtcars,
aes(label = mpg, x=am, y=mpg), alpha=0.9, size=4,
segment.size = .25, segment.alpha = .8, force = 1)
Run Code Online (Sandbox Code Playgroud)
我一直在尝试在 Clear Linux 上构建 glibc,这里讨论了之前的问题: How do I build into a specified directory using the "prefix" option of configure?
现在我已经成功运行configure,makefile中似乎有问题:
james@clr ~/Downloads/glibc $ make
Makeconfig:42: *** missing separator. Stop.
Run Code Online (Sandbox Code Playgroud)
Makeconfig第42行:
objdir must be defined by the build-directory Makefile.
Run Code Online (Sandbox Code Playgroud)
和 nakefile 直到错误点:
ifneq (,)
This makefile requires GNU Make.
endif
all: # Make this the default goal
ifneq "$(origin +included-Makeconfig)" "file"
+included-Makeconfig := yes
ifdef subdir
.. := ../
endif
# $(common-objdir) is the place to put objects and
# such …Run Code Online (Sandbox Code Playgroud) 我正在开发一个网络应用程序,用户将上传一个 .csv 文件,该文件在下一页呈现为 html。然后,需要在下一页使用相同的 .csv 文件(或导入它的 Pandas 数据框)。所以我需要在@app.routes之间移动这个对象。我的理解是这session是在 Flask 中做到这一点的正确方法。但是,会话要求对象被序列化。
那会很好,除了在将 json 转换回 Pandas 时,会删除下划线。显然这是因为它被视为_扮演逗号角色的数字对象,并且开发人员表示他们不打算为此提供修复程序。
我制作了一个简单的应用程序来演示这个问题:
控制器.py
#!/usr/bin/env python3
import pandas as pd
from flask import Flask, render_template, session
import os
app = Flask(__name__)
app.secret_key = os.urandom(28)
@app.route('/first_page', methods=['GET', 'POST'])
def first_page():
d = {'products': ['pencils', 'pens', 'erasers'], 'id_code': ['1_2', '10_7', '12_11']}
df = pd.DataFrame(d)
print(df)
session["data"] = df.to_json()
return render_template('/private/test_page1.html')
@app.route('/second_page', methods=['GET', 'POST'])
def second_page():
dat = session.get('data')
dat = pd.read_json(dat) …Run Code Online (Sandbox Code Playgroud) 我遇到一个问题,某些图形设备打印丢失的字形框而不是字符。实际上,到目前为止我尝试过的唯一可以渲染字符的设备是 PDF。由于我最近更新了 R 并重建了一堆软件包,我怀疑这可能与它有关。jpeg以下是比较四个设备( 、pdf、svg和 )的输出的屏幕截图png。
尽管我第一次在 Rstudio 中使用 rcorr 包遇到该问题,但当我从命令行作为 Rscript 并使用基本箱线图运行时,就会出现该问题。
require(corrplot)
M<-cor(mtcars)
corrplot(M, method="circle")
dev.off()
pdf("test2.pdf")
corrplot(M, method="circle")
dev.off()
png("test2.png")
corrplot(M, method="circle")
dev.off()
jpeg("test2.jpeg")
corrplot(M, method="circle")
dev.off()
svg("test2.svg")
corrplot(M, method="circle")
dev.off()
pdf("test3.pdf")
boxplot(M, method="circle")
dev.off()
png("test3.png")
boxplot(M, method="circle")
dev.off()
jpeg("test3.jpeg")
boxplot(M, method="circle")
dev.off()
svg("test3.svg")
boxplot(M, method="circle")
dev.off()
Run Code Online (Sandbox Code Playgroud)
会议信息:
> sessionInfo()
R version 3.6.2 (2019-12-12)
Platform: x86_64-generic-linux-gnu (64-bit)
Running under: Clear Linux OS
Matrix products: default
BLAS/LAPACK: /usr/lib64/libopenblas_nehalemp-r0.3.7.so
locale:
[1] …Run Code Online (Sandbox Code Playgroud) 我有一个脚本,它获取目录中的所有 csv 文件并使用外部联接将它们并排合并。问题是当我尝试在我需要加入的文件上使用它时,我的计算机窒息(MemoryError)(大约两打文件,每个 6-12 Gb)。我知道 itertools 可用于提高循环效率,但我不清楚它是否或如何应用于这种情况。我能想到的另一种选择是安装 mySQL,学习基础知识,然后在那里执行此操作。显然,如果可能的话,我宁愿在 Python 中执行此操作,因为我已经在学习它。基于 R 的解决方案也是可以接受的。
这是我的代码:
import os
import glob
import pandas as pd
os.chdir("\\path\\containing\\files")
files = glob.glob("*.csv")
sdf = pd.read_csv(files[0], sep=',')
for filename in files[1:]:
df = pd.read_csv(filename, sep=',')
sdf = pd.merge(sdf, df, how='outer', on=['Factor1', 'Factor2'])
Run Code Online (Sandbox Code Playgroud)
关于如何处理对于我的计算机内存来说太大的文件的任何建议将不胜感激。
我试图在 geom_bar 上放置 x 标签,使它们垂直,在条形图的顶部,并与条形图的底部对齐。我得到了前两个,但不是最后一个。
data(mpg)
mpg <- mpg
Run Code Online (Sandbox Code Playgroud)
这会按照我想要的方式证明文本的合理性(左/下对齐)
ggplot(mpg, aes(x=interaction(manufacturer, year), y=hwy, fill=manufacturer)) +
geom_bar(stat="identity", width = 1, color="black") +
theme(axis.text.x = element_text(angle = 90, size = 5, hjust=0, vjust=-.05))
Run Code Online (Sandbox Code Playgroud)
这会将文本放在更高的位置,以便它覆盖条形,但它不是我想要的方式,每个标签都从 x 轴开始。
ggplot(mpg, aes(x=interaction(manufacturer, year), y=hwy, fill=manufacturer)) +
geom_bar(stat="identity", width = 1, color="black") +
theme(axis.text.x = element_text(angle = 90, size = 5, hjust=3, vjust=-.05))
Run Code Online (Sandbox Code Playgroud)
我也玩过 margin=margin(#,#,#,#),我看不出有任何影响。我还能尝试什么?
我正在尝试在 Clear Linux 上构建 glibc 2.27,在此处获得:https : //www.gnu.org/software/libc/sources.html
根据帮助,我应该使用 prefix 命令构建到源文件夹之外的目录中。据我所知,我正在执行安装帮助中描述的操作:
配置和编译 GNU C 库
无法在源目录中编译 GNU C 库。您必须在单独的构建目录中构建它。例如,如果您在“/src/gnu/glibc-VERSION”中解压了 GNU C 库源代码,则创建一个目录“/src/gnu/glibc-build”来放置目标文件。这允许删除整个构建目录以防发生错误,这是重新开始的最安全方法,应该始终完成。
从您的对象目录中,运行位于源代码树顶层的 shell 脚本“configure”。在上面的场景中,你会输入
Run Code Online (Sandbox Code Playgroud)$ ../glibc-VERSION/configure ARGS...请注意,即使您在单独的构建目录中构建,编译也可能需要在源目录中创建或修改文件和目录。
'configure' 有很多选项,但唯一一个通常是强制性的是 '--prefix'。这个选项告诉'configure'你想安装GNU C 库的位置。这默认为“/usr/local”,但作为标准系统库安装的正常设置是 '--prefix=/usr' 对于 GNU/Linux 系统和 '--prefix='(空前缀)对于 GNU/赫德系统。
所以,我认为我这样做是正确的,但它仍然给我一个关于在不同目录中构建的错误:
james@clr ~/Downloads/glibc $ ./configure --prefix=/home/james/Downloads/glibc-build/
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for gcc... gcc
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether …Run Code Online (Sandbox Code Playgroud) 有没有办法使用 save.image() 以便将对象保存在函数环境中?以这个最小的例子为例:
outside = "not in function"
testFun <- function(){
a = 1
b = 2
c = 3
save.image(file="environmentTest.Rdata")
}
testFun()
Run Code Online (Sandbox Code Playgroud)
当我打开environmentTest.Rdata时,该对象outside在那里,但不是a、b、 或c。有没有办法使用save.image()(或另一个函数)来保存当前函数范围内的所有对象(而不显式列出它们)?
我有一个数据框,我想用通过在旧名称前面添加标识符而创建的新名称替换列的子集。例如,要在第 3:7 列前面加上字符串“TEST”,我尝试了以下操作。
我在这里缺少什么?
# Make a test df
df <- data.frame(replicate(10,sample(0:1,100,rep=TRUE)))
#Subsetting works fine
colnames(df[,3:7])
#sub works fine
sub("^", "TEST.", colnames(df[,3:7]))
#replacing the subset of column names with sub does not
colnames(df[,3:7]) <- sub("^", "TEST.", colnames(df[,3:7]))
colnames(df)
#Also doesn't work
colnames(df[,3:7]) <- paste("TEST.", colnames(df[,3:7]), sep ="")
colnames(df)
Run Code Online (Sandbox Code Playgroud)