小编Rem*_*i.b的帖子

R:ggplot如果在for循环中,它不起作用,尽管它在它之外工作

我正在使用一个简单的ggplot函数,它在循环外工作正常,但即使迭代值不干扰ggplot函数也不在内部.为什么会这样?

这是我的代码

x=1:7
y=1:7
df = data.frame(x=x,y=y)
ggplot(df,aes(x,y))+geom_point()
Run Code Online (Sandbox Code Playgroud)

有用 !但是如果ggplot在for循环中...

for (i in 1:5) {
   ggplot(df,aes(x,y))+geom_point()
}
Run Code Online (Sandbox Code Playgroud)

......它不再起作用了!我错过了什么?

谢谢

for-loop r ggplot2

105
推荐指数
1
解决办法
6万
查看次数

在ggplot上添加回归线

我正努力在ggplot上添加回归线.我首先尝试使用abline,但我没有设法让它工作.然后我尝试了这个......

data = data.frame(x.plot=rep(seq(1,5),10),y.plot=rnorm(50))
ggplot(data,aes(x.plot,y.plot))+stat_summary(fun.data=mean_cl_normal) +
   geom_smooth(method='lm',formula=data$y.plot~data$x.plot)
Run Code Online (Sandbox Code Playgroud)

但它也没有用.

regression r linear-regression ggplot2

101
推荐指数
4
解决办法
24万
查看次数

将图存储在对象中

ggplot2,可以轻松地将图形保存到R对象中.

p = ggplot(...) + geom_point()      # does not display the graph
p                                   # displays the graph
Run Code Online (Sandbox Code Playgroud)

标准函数plot将图形作为void函数生成并返回NULL.

p = plot(1:10)     # displays the graph
p                  # NULL
Run Code Online (Sandbox Code Playgroud)

是否可以保存plot在对象中创建的图形?

plot r

71
推荐指数
3
解决办法
4万
查看次数

`vector <int> v;`和`vector <int> v = vector <int>();`之间的区别

有什么区别

std::vector<int> v;
Run Code Online (Sandbox Code Playgroud)

std::vector<int> v = std::vector<int>();
Run Code Online (Sandbox Code Playgroud)

直觉上,我永远不会使用第二个版本,但我不确定是否有任何区别.我觉得第二行只是构建临时对象的默认构造函数,然后由移动赋值运算符移动.

我想知道第二行是否不等于

std::vector<int> v = *(new std::vector<int>()); 
Run Code Online (Sandbox Code Playgroud)

要么

std::vector<int> v;
Run Code Online (Sandbox Code Playgroud)

因此导致向量本身在堆上(动态分配).如果是这种情况,那么对于大多数情况,第一行可能是首选.

这些代码行有何不同?

c++ constructor initialization

31
推荐指数
2
解决办法
1866
查看次数

如何在R中绘制一棵树(和松鼠)?

这是我的树:

tree = data.frame(branchID = c(1,11,12,111,112,1121,1122), length = c(32, 21, 19, 5, 12, 6, 2))

> tree
  branchID length
1        1     32
2       11     21
3       12     19
4      111      5
5      112     12
6     1121      6
7     1122      2
Run Code Online (Sandbox Code Playgroud)

这棵树是2D的,由树枝组成.每个分支都有一个ID.1是树干.然后,行李箱分叉成两个分支,11左侧和12右侧.11在分支中分叉111(向左)和112(向右)分叉.等.每个分支都有一定的长度.

在这棵树上有松鼠:

squirrels = data.frame(branchID = c(1,11,1121,11,111), PositionOnBranch = c(23, 12, 4, 2, 1), name=c("FluffyTail", "Ginger", "NutCracker", "SuperSquirrel", "ChipnDale"))

> squirrels
  branchID PositionOnBranch          name
1        1               23    FluffyTail …
Run Code Online (Sandbox Code Playgroud)

tree plot r graph ggplot2

30
推荐指数
4
解决办法
1892
查看次数

从R中的字符串中提取唯一数字

我有一个包含随机字符的字符串列表,例如:

list=list()
list[1] = "djud7+dg[a]hs667"
list[2] = "7fd*hac11(5)"
list[3] = "2tu,g7gka5"
Run Code Online (Sandbox Code Playgroud)

我想知道unique()这个列表中至少有一次()存在哪些数字.我的例子的解决方案是:

解: c(7,667,11,5,2)

如果有人的方法不认为11是"十一"而是"一和一",那么它也会很有用.这种情况下的解决方案是:

解: c(7,6,1,5,2)

(我在相关主题上发现了这篇文章:从字符串向量中提取数字)

string grep r character gsub

29
推荐指数
5
解决办法
7万
查看次数

处理TRUE,FALSE,NA和NaN

这是一个矢量

a <- c(TRUE, FALSE, FALSE, NA, FALSE, TRUE, NA, FALSE, TRUE)
Run Code Online (Sandbox Code Playgroud)

我想要一个简单的函数,TRUE每当有一个TRUE"a"时返回,并且FALSE每次有一个FALSE或一个NA在"a"中.

以下三件事情无效

a == TRUE
identical(TRUE, a)
isTRUE(a)
Run Code Online (Sandbox Code Playgroud)

这是一个解决方案

a[-which(is.na(a))]
Run Code Online (Sandbox Code Playgroud)

但它似乎不是一个简单易行的解决方案

还有其他解决方案吗?

以下是我所知道的一些函数(和运算符):

identical()
isTRUE()
is.na()
na.rm()
&
|
!
Run Code Online (Sandbox Code Playgroud)
  • 有什么其他功能(运营商,技巧,什么的,......),它们处理非常有用TRUE,FALSE,NA,NaN

  • NA和之间有什么区别NaN

  • 是否有其他"顺理成章之事"比TRUE,FALSE,NANaN

非常感谢 !

boolean r logical-operators r-faq na

26
推荐指数
5
解决办法
4万
查看次数

使用ggplot中的geom_bar()显示频率而不是计数

此页面上,他们给出了以下示例

library(ggplot2)
library(reshape2)
ggplot(data=tips, aes(x=day)) + geom_bar(stat="bin")
Run Code Online (Sandbox Code Playgroud)

而不是计数我想在y轴上有一个频率.我怎样才能做到这一点?

r ggplot2

23
推荐指数
2
解决办法
4万
查看次数

如何从Julia中的加权数组中选择随机项?

考虑两个1-dim数组,一个包含要从中选择的项,另一个包含绘制另一个列表项的概率.

items = ["a", 2, 5, "h", "hello", 3]
weights = [0.1, 0.1, 0.2, 0.2, 0.1, 0.3]
Run Code Online (Sandbox Code Playgroud)

在朱莉娅,怎么能随意在选择项目items使用weights对重量绘图给定项目的概率是多少?

arrays random random-sample julia

20
推荐指数
2
解决办法
2825
查看次数

当后台进程结束时,在`Done`之前的`+`,`-`和``符号是什么意思?

是什么的意思+,- signs that precedes Done在后台进程结束?

感兴趣的例子

代码1

(sleep 4s; echo first)&
(sleep 2s; echo second)&
(sleep 1s; echo third)&

[1]   Done                    ( sleep 4s; echo first )
[2]-  Done                    ( sleep 2s; echo second )
[3]+  Done                    ( sleep 1s; echo third )
Run Code Online (Sandbox Code Playgroud)

代码2

(echo first)&
(echo second)&
(echo third)&

[1]+  Done                    ( echo first )
[2]+  Done                    ( echo second )
[3]+  Done                    ( echo third )
Run Code Online (Sandbox Code Playgroud)

parallel-processing bash

19
推荐指数
2
解决办法
347
查看次数