我有一个大型数据框,我将两列相乘以获得另一列.起初我正在运行for循环,如下所示:
for(i in 1:nrow(df)){
df$new_column[i] <- df$column1[i] * df$column2[i]
}
Run Code Online (Sandbox Code Playgroud)
但这需要9天.
另一种选择是plyr,我实际上可能错误地使用了这些变量:
new_df <- ddply(df, .(column1,column2), transform, new_column = column1 * column2)
Run Code Online (Sandbox Code Playgroud) DF
primer exptname concentrate timepoints replicate day realConc
Acan 0hr 55mM 0 b1 011311 0.0002771494
Actb 0hr 55mM 0 b1 011311 0.0061298654
Atf7ip2 0hr 55mM 0 b1 011311 0.0015750373
Atp2c1 0hr 55mM 0 b1 011311 0.0010109867
Casp6 0hr 55mM 0 b1 011311 0.0035939088
Col10a1 0hr 55mM 0 b1 011311 0.0133760938
Acan 0hr 55mM 0 b1 011311 0.0002771494
Actb 0hr 55mM 0 b1 011311 0.0061298654
Atf7ip2 0hr 55mM 0 b1 011311 0.0015750373
Atp2c1 0hr 55mM 0 b1 011311 0.0010109867
Casp6 0hr …
Run Code Online (Sandbox Code Playgroud) constant <- function(x){1}
integrate(constant,lower=1,upper=10)
Run Code Online (Sandbox Code Playgroud)
这可能不仅仅是荒谬简单,而是为什么这不起作用的任何理由?
我应该用不同的方式编写常量函数吗?
DF
av bv tv u l value s
30 120 360 330 210 6600 0.005238424
35 125 360 325 200 6875 0.005028887
40 130 360 320 190 7150 0.004835468
45 135 360 315 180 7425 0.004656377
50 140 360 310 170 7700 0.004490078
55 145 360 305 160 7975 0.004335247
60 150 360 300 150 8250 0.004190739
65 155 360 295 140 8525 0.004055554
70 160 360 290 130 8800 0.003928818
75 165 360 285 120 9075 0.003809763
80 170 …
Run Code Online (Sandbox Code Playgroud) 我有一个字符向量,我想从中排除第二个向量中存在的元素.在这个案例中,我不知道如何处理否定,同时还要考虑整个向量
vector[vector ! %in% vector2]
Run Code Online (Sandbox Code Playgroud)
我显然可以,vector[vector != single_character]
但这只适用于一个角色.
DF1
primer timepoints mean sde
Acan 0 1.0000000 0.000000e+00
Acan 20 0.8758265 7.856192e-02
Acan 40 1.0575400 4.680159e-02
Acan 60 1.2399106 2.238616e-01
Acan 120 1.1710685 2.085558e-02
Acan 240 1.6430670 NA
Acan 360 1.7747940 NA
Run Code Online (Sandbox Code Playgroud)
我想要的是平均值的最大值(对于任何这些时间点)w /它是相应的sde.
## this will only get me the mean obviously
x <- ddply(x, .(primer), summarize, max = max(mean))
primer max
Acan 1.774794
## if I were to do this I would obviously not have just the maximum values
x <- ddply(x. .(primer,sde), summarize, max = max(mean)) …
Run Code Online (Sandbox Code Playgroud) 有人能指出我正确的方向制作像这样的情节w/ggplot2吗?甚至只是功能类型.
我一直在ggplot2环顾四周,找不到这样的东西.
我现在正在R中使用带有矩阵的写入功能,这就是我所拥有的
write(my_mtx,file='mtx.tsv',sep='\t')
Run Code Online (Sandbox Code Playgroud)
但这给了我一个包含一列的文件?我也尝试添加'ncolumns'参数
write(mt_mtx,ncolumns=length(colnames(my_mtx)),file='mtx.tsv',sep='\t')
Run Code Online (Sandbox Code Playgroud)
但这只是让我重复一列而不是实际分离的列,因为它出现在矩阵中.一点帮助?