假设我们有一个简单的以下类型的情节.
library(ggplot2)
df = data.frame(y=c(0,1.1,2.3,3.1,2.9,5.8,6,7.4,8.2,9.1),x=seq(1,100, length.out=10))
ggplot(df,aes(x=x,y=y)) + geom_point()
Run Code Online (Sandbox Code Playgroud)
x与...完全相关z.关系是:Constant=x^2*z=1.23
因此我可以像这样重写data.frame:
df = cbind(df,1.23/df$x^2)
Run Code Online (Sandbox Code Playgroud)
问题是:
如何显示两个变量x和z一个x轴?它可以是底部的一个,图形顶部的一个或底部的两个.
我的问题可能是重复的,但我找不到答案。
如何从另一个 python 文件获取 python 文件。就像是:
def fun_1 (arg):
...
...
fun_2 (arg):
...
...
#### MAIN ####
Source the file that contains the function `fun_2`
fun_1('hello')
Run Code Online (Sandbox Code Playgroud) 我对编译知之甚少,但我很惊讶Julia编译器没有优化多个进程.
让我们考虑Julia(这是一个即时编译器),让我们考虑这两个基本相同的代码.
n=1
@time for i = 1:10^8 n=n+1 end
elapsed time: 3.535394087 seconds (0 bytes allocated)
n=1
@time n=n+10^8
elapsed time: 6.599e-6 seconds (112 bytes allocated)
Run Code Online (Sandbox Code Playgroud)
为什么是一个现代化的编译器不能够理解这漫长的循环会做什么,但添加10^8到n?
我认为以下例子更引人注目
n=1
@time for i = 1:10^9 n=n end
elapsed time: 3.496573198 seconds (0 bytes allocated)
Run Code Online (Sandbox Code Playgroud) ggplot(mtcars, aes(wt, mpg)) + geom_line() + geom_point()
Run Code Online (Sandbox Code Playgroud)

geom_line()将点与一条直线相连,这是两点之间的最短路径.我想首先在水平(或垂直)方向上直线,然后向上或向下(或向右)连接后面的点.
听起来这个选项可能尚未集成ggplot2.一种方法是创建一组不会显示的点,geom_point()但是它将位于与后面的点相同的x位置(或者与前面的点相同的x位置)和与前面的点相同的y位置(或者与后面的点相同的y位置).这听起来像一个复杂的解决方案 我并没有真正设法让它发挥作用.有更好的解决方案吗?在任何情况下,你能帮助制作一个方便的功能,将做两个技巧(1.First vertical和2.first horiozontal)?
如何粘贴反斜杠字符?
ToPrintOnFile = paste("hello", "\", "World")
Error: unexpected symbol in "paste("hello", "\", "World"
Run Code Online (Sandbox Code Playgroud)
如果我尝试用额外的“\”转义这个字符..
ToPrintOnFile = paste("hello", "\\", "World")
[1] "hello \\ World"
Run Code Online (Sandbox Code Playgroud)
我的目标是写入ToPrintOnFile一个文件,其中ToPrintOnFile包含一个反斜杠字符(而不是后面的两个反斜杠字符)。
Thks
从一系列TRUE和falses,我想创建一个返回TRUE的函数,无论n1序列中某处是否存在至少一系列TRUE .这是这个功能:
fun_1 = function(TFvec, n1){
nbT = 0
solution = -1
for (i in 1:length(x)){
if (x[i]){
nbT = nbT + 1
if (nbT == n1){
return(T)
break
}
} else {
nbT = 0
}
}
return (F)
}
Run Code Online (Sandbox Code Playgroud)
测试:
x = c(T,F,T,T,F,F,T,T,T,F,F,T,F,F)
fun_1(x,3) # TRUE
fun_1(x,4) # FALSE
Run Code Online (Sandbox Code Playgroud)
然后,我需要一个返回TRUE的函数,如果在给定的列表中布尔向量,则n1至少有一系列由至少两个系列(每侧一个)包裹的TRUE n2.这里的功能:
fun_2 = function(TFvec, n1, n2){
if (n2 == 0){
fun_1(TFvec, n2)
}
nbFB = 0
nbFA = 0
nbT = 0
solution …Run Code Online (Sandbox Code Playgroud) 考虑这些数据:
m = data.frame(pop=c(1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4),
id=c(0,1,1,1,1,1,0,2,1,1,1,2,1,2,2,2))
> m
pop id
1 1 0
2 1 1
3 1 1
4 1 1
5 2 1
6 2 1
7 2 0
8 2 2
9 2 1
10 3 1
11 3 1
12 3 2
13 3 1
14 3 2
15 4 2
16 4 2
Run Code Online (Sandbox Code Playgroud)
我想获得每个独特id的每个独特的频率pop?例如,id 1当4的时候出现3次pop == 1,因此id 1in 的频率pop 1为0.75.
我想出了这个丑陋的解决方案:
out = …Run Code Online (Sandbox Code Playgroud) 根据定义,一行必须以换行符(\n)结尾.).但是为了这篇文章的目的,我会将任何一系列字符视为一行,无论它是否完成\n.
该命令tail -n 1返回最后一行,无论它是否以\n.如何从文件中获取以\n该行是最后一行还是文件的倒数第二行结束的最后一行?
我使用一个没有R的集群(操作系统是Linux).我想安装R在我的个人文件夹中,以便我可以这样做
Rscript example.R arg1 arg2
Run Code Online (Sandbox Code Playgroud)
知道我没有管理员权限,我应该如何在这个集群上安装R?
我怎样才能管理包裹?
为了列出我做的空文件
find . -name "*.txt" | xargs wc -l | awk -F" " '{if ($1==0) {print $2} }'
Run Code Online (Sandbox Code Playgroud)
或者干脆
wc -l *.txt | awk -F" " '{if ($1==0) {print $2} }'
Run Code Online (Sandbox Code Playgroud)
它可以工作,但它有点慢,因为wc -l计算每个文件中的换行符的数量,而这是不必要的.一旦找到单个换行符就排除文件的过程会快得多.
如何以高效的方式列出空文件?
r ×6
bash ×2
file ×2
ggplot2 ×2
plot ×2
regex ×2
awk ×1
axis-labels ×1
boolean ×1
compilation ×1
data.table ×1
find ×1
graph ×1
installation ×1
julia ×1
line ×1
linux ×1
newline ×1
paste ×1
performance ×1
python ×1
search ×1
string ×1
tail ×1