我有以下数据框和变量名称"foo"
;
> foo <-c(3,4);
Run Code Online (Sandbox Code Playgroud)
我想要做的是转换"foo"
成一个字符串.所以在函数中我不必重新创建另一个额外的变量:
output <- myfunc(foo)
myfunc <- function(v1) {
# do something with v1
# so that it prints "FOO" when
# this function is called
#
# instead of the values (3,4)
return ()
}
Run Code Online (Sandbox Code Playgroud) 有太多的争论,String.format
很容易让人感到困惑.是否有更强大的格式化String的方法.像这样:
"This is #{number} string".format("number" -> 1)
Run Code Online (Sandbox Code Playgroud)
或者这是不可能的,因为类型问题(format
需要采取Map [String,Any],我假设;不知道这是否会使事情变得更糟).
或者更好的方式是这样做:
val number = 1
<plain>This is { number } string</plain> text
Run Code Online (Sandbox Code Playgroud)
即使它污染名称空间?
编辑:
虽然在许多情况下可能会有一个简单的拉皮条,但我也在寻找与Python相同方向的东西format()
(参见:http://docs.python.org/release/3.1.2/library/string.html#formatstrings)
我正在使用ggplot
这里描述的
http://docs.ggplot2.org/current/stat_density.html
并进入R控制台
m <- ggplot(movies, aes(x = rating))
m + geom_density()
Run Code Online (Sandbox Code Playgroud)
这有效,但有一些方法可以删除x轴和密度图之间的连接(将密度图连接到x轴的垂直线)
我正在寻找,但仍然无法找到一个非常简单的问题的答案 - 我们怎样才能在R中用ggplot2生成一个变量的简单点图?
使用plot
命令这很简单:
plot(iris$Sepal.Length, type='p')
Run Code Online (Sandbox Code Playgroud)
但是当我试图将一个变量传递给qplot并指定geom ="point"时,我收到一个错误"UseMethod中的错误("scale_dimension")".
我们怎么能用ggplot2制作这样的情节呢?
我正在绘制大量的图形,我希望它们都具有相同的色标,以便我可以相互比较.这是我的代码:
myPalette <- colorRampPalette(rev(brewer.pal(11, "Spectral")))
print(ggplot(mydata, aes(x= X, y= Y, colour= Z)) + geom_point(alpha=.5,size = 6) + scale_colour_gradientn(colours = myPalette(100)) + ylim(.1,.4) + xlim(1.5,2) + ggtitle(title))
Run Code Online (Sandbox Code Playgroud)
有没有办法设置这个色标?
我有以下图表
test <- expand.grid('cat' = LETTERS[1:5], 'cond'= c(F,T), 'year' = 2001:2005)
test$value <- floor((rnorm(nrow(test)))*100)
test$value[test$value < 0] <- 0
ggplot() +
geom_bar(data=test, aes(y = value, x = year, fill = cat), stat="identity",position='dodge') +
theme_bw()
Run Code Online (Sandbox Code Playgroud)
我需要将每个'猫'除以'cond'(真或假).我怎么做?
我有一个包含多天数据的时间序列.在每一天之间有一个没有数据点的时期.在绘制时间序列时,如何省略这些时间段ggplot2
?
如下所示的人为例子,如何摆脱没有数据的两个时期?
码:
Time = Sys.time()+(seq(1,100)*60+c(rep(1,100)*3600*24, rep(2, 100)*3600*24, rep(3, 100)*3600*24))
Value = rnorm(length(Time))
g <- ggplot()
g <- g + geom_line (aes(x=Time, y=Value))
g
Run Code Online (Sandbox Code Playgroud)
我有一个数据框200列,每列包含150个基因(行).
我想计算整个数据框中每个基因的出现次数
mydat <-
V1 V2 V3 V4 V5 V6 V7 V8
1 TGFBR2 TGFBR2 TGFBR2 TGFBR2 TGFBR2 TGFBR2 TGFBR2 TGFBR2
2 MAML2 MAML2 MAML2 MAML2 MAML2 MAML2 MAML2 MAML2
3 BMPR2 EIF5A WRAP53 WRAP53 EIF5A EIF5A EIF5A EIF5A
4 EIF5A BMPR2 EIF5A EIF5A ADAMTSL3 BMPR2 WRAP53 BMPR2
5 EIF5AL1 WRAP53 ADAMTSL3 BMPR2 BMPR2 WRAP53 BMPR2 EIF5AL1
6 WRAP53 EIF5AL1 BMPR2 ADAMTSL3 WRAP53 EIF5AL1 EIF5AL1 WRAP53
7 TBC1D5 ADAMTSL3 EIF5AL1 EIF5AL1 EIF5AL1 ADAMTSL3 ADAMTSL3 C1QTNF7
8 ADAMTSL3 C1QTNF7 C1QTNF7 C1QTNF7 …
Run Code Online (Sandbox Code Playgroud) 我想要一个使用像mysql一样的if语句 something LIKE '%something%'
我想在php中构建一个if语句.
if ($something is like %$somethingother%)
Run Code Online (Sandbox Code Playgroud)
可能吗?
我问这个问题的原因是我不想改变MySQL命令,它是一个包含很多东西的长页面,我不想为此构建不同的函数.
如果可能的话,请告诉我,如果可能的话,如何做到这一点.
我想将我的数据帧转换为矩阵,将单个因子列扩展为多个,并根据因子分配1
/ 0
.例如
C1 C2 C3
A 3 5
B 3 4
A 1 1
Run Code Online (Sandbox Code Playgroud)
应该变成类似的东西
C1_A C1_B C2 C3
1 0 3 5
0 1 3 4
1 0 1 1
Run Code Online (Sandbox Code Playgroud)
我怎么能在R中这样做?我试过了data.matrix
,as.matrix
但没有回复我想要的东西.它们为单个因子列分配"整数"值,没有扩展.
r ×8
ggplot2 ×5
plot ×2
string ×2
dataframe ×1
formatting ×1
if-statement ×1
matrix ×1
mysql ×1
object ×1
php ×1
scala ×1
statistics ×1