我正在使用一个简单的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)
......它不再起作用了!我错过了什么?
谢谢
我正努力在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)
但它也没有用.
在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
在对象中创建的图形?
有什么区别
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)
因此导致向量本身在堆上(动态分配).如果是这种情况,那么对于大多数情况,第一行可能是首选.
这些代码行有何不同?
这是我的树:
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) 我有一个包含随机字符的字符串列表,例如:
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)
(我在相关主题上发现了这篇文章:从字符串向量中提取数字)
这是一个矢量
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
,NA
和NaN
?
非常感谢 !
在此页面上,他们给出了以下示例
library(ggplot2)
library(reshape2)
ggplot(data=tips, aes(x=day)) + geom_bar(stat="bin")
Run Code Online (Sandbox Code Playgroud)
而不是计数我想在y轴上有一个频率.我怎样才能做到这一点?
考虑两个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
对重量绘图给定项目的概率是多少?
题
是什么的意思+
,-
和 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)