我是C++的初学者,所以我希望你能忍受我.
试图读取一个文本格式的文件,每个文件都有这样的行(前几行,称为标题行):
@HD VN:1.5 SO:queryname
Run Code Online (Sandbox Code Playgroud)
或者像这样
read.1 4 * 0 0 * * 0 0 CAACCNNTACCACAGCCCGANGCATTAACAACTTAANNNCNNNTNNANNNNNNNNNNNNTTGAAAAAAAAAAAAAAAAAA A<.AA##F..<F)<)FF))<#A<7<F.)FA.FAA.)###.###F##)############)FF)A<..A..7A....<F.A XC:Z:CAACCNNTACCA RG:Z:A XQ:i:2
Run Code Online (Sandbox Code Playgroud)
两者都是制表符分隔.
该文件非常大,因此是二进制格式.我想知道是否可以从每行的二进制格式文件中读取,在该行上进行一些处理,然后将其写入二进制格式输出文件.
我从这段代码开始:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main(int argc, char* argv[])
{
string input_file = argv[1];
string output_file = argv[2];
string line;
ifstream istream;
istream.open(input_file.c_str(),ios::binary|ios::in);
ofstream ostream;
ostream.open(output_file.c_str(),ios::binary|ios::out);
while(getline(istream,line,'\n')){
if(line.empty()) continue;
//process line assuming it is read as a string
ostream<<line<<endl;
}
istream.close();
ostream.close();
}
Run Code Online (Sandbox Code Playgroud)
但它崩溃了:Segmentation fault (core dumped),当我试图解析部分line的string …
我有这些数据:
x <- c(6.626,6.6234,6.6206,6.6008,6.5568,6.4953,6.4441,6.2186,6.0942,5.8833,5.702,5.4361,5.0501,4.744,4.1598,3.9318,3.4479,3.3462,3.108,2.8468,2.3365,2.1574,1.899,1.5644,1.3072,1.1579,0.95783,0.82376,0.67734,0.34578,0.27116,0.058285)
y <- c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32)
Run Code Online (Sandbox Code Playgroud)
看起来像:
plot(x,y)
Run Code Online (Sandbox Code Playgroud)
我想找到一种方法让肘/膝盖指向周围 x=6.5
我认为拟合loess曲线然后采用二阶导数可能有效但是:
plot(x,predict(loess(y ~ x)),type="l")
Run Code Online (Sandbox Code Playgroud)
看起来不会做这个工作.
任何的想法?
我有一个大data.frame的character列和几个包含NA's的数字列.
以下是一些示例行:
df <- data.frame(id=rep("A",3),v1=c(NA,1,NA),v2=c(2,5,2),v3=c(NA,NA,NA),V4=c(0,0,0),stringsAsFactors=F)
Run Code Online (Sandbox Code Playgroud)
由于df$id重复我想aggregate df通过df$id,并适用sum于所有其它列.
我这样做了:
require(data.table)
setDT(df)[,lapply(.SD, function(x) sum(x,na.rm=T)),by=.(id)]
Run Code Online (Sandbox Code Playgroud)
我得到这个:
id v1 v2 v3 V4
1: A 1 9 0 0
Run Code Online (Sandbox Code Playgroud)
所以列v3是所有NA's中df,并因此获得的价值0,这对我的问题,因为在这种情况下,我想保留NA的价值,但在所有其他情况下(其中聚集了数字和的混合NA的,显然我想删除NA'否则总和将是NA).如示例所示(df$v4)我有所有列0,因此我不能简单地用聚合替换所有的0's .NAdata.frame
换句话说,这是我期望的结果:
id v1 v2 v3 V4
1: A 1 9 NA 0
Run Code Online (Sandbox Code Playgroud)
知道如何实现这一目标data.table的.SD …
我正在尝试heatmap使用ggplot2和绘制皮尔逊成对相关性scale_colour_gradient。
这是我的示例数据:
library(dplyr)
library(ggplot2)
set.seed(1)
pairs.mat <- t(combn(1:5,2))
df <- data.frame(sample1=pairs.mat[,1],sample2=pairs.mat[,2]) %>% dplyr::mutate(association=runif(10,0.85,1))
Run Code Online (Sandbox Code Playgroud)
这是ggplot2我正在尝试的代码:
heatmap.ggplot <- ggplot(df,aes(sample1,sample2,fill=association))+geom_tile(color="white")+
scale_colour_gradient(low="gray",high="red",limit=c(min(df$association),1),space="Lab",guide="colourbar")+theme_minimal()+
theme(axis.title.x=element_blank(),axis.title.y=element_blank(),axis.text.x=element_text(angle=45,vjust=1,size=12,hjust=1))+coord_fixed()+coord_flip()+labs(colors="Cor")
Run Code Online (Sandbox Code Playgroud)
我的问题是:
low="gray",high="red"但我得到了蓝色范围内的元素。我该如何解决这个问题?labs(colors="Cor"). 对此有什么想法吗?谢谢
我正在尝试绘制heatmapusingR的plotly包,我希望在其中对 y 轴刻度文本的特定标签具有特定的颜色。
这是一个示例数据集:
set.seed(1)
df <- reshape2::melt(matrix(rnorm(100),10,10,dimnames = list(paste0("G",1:10),paste0("S",1:10))))
Run Code Online (Sandbox Code Playgroud)
这就是我正在尝试的:
library(plotly)
library(dplyr)
plot_ly(z=c(df$value),x=df$Var2,y=df$Var1,colors=grDevices::colorRamp(c("darkblue","gray","darkred")),type="heatmap",colorbar=list(title="Scaled Value",len=0.4)) %>%
layout(yaxis=list(title=list(color=c(rep("darkred",5),rep("darkblue",5)))))
Run Code Online (Sandbox Code Playgroud)
改变: yaxis=list(title=list(color=c(rep("darkred",5),rep("darkblue",5))))
到: yaxis=list(title=list(color=list(c(rep("darkred",5),rep("darkblue",5)))))
或者: yaxis=list(title=list(tickcolor=c(rep("darkred",5),rep("darkblue",5))))
或者: yaxis=list(title=list(tickcolor=list(c(rep("darkred",5),rep("darkblue",5)))))
似乎没有帮助。
任何的想法?
该问题涉及机器学习特征选择过程.
我有一个很大的特征矩阵 - 列是主题(行)的特征:
set.seed(1)
features.mat <- matrix(rnorm(10*100),ncol=100)
colnames(features.mat) <- paste("F",1:100,sep="")
rownames(features.mat) <- paste("S",1:10,sep="")
Run Code Online (Sandbox Code Playgroud)
S在不同条件(C)下测量每个受试者()的响应,因此看起来像这样:
response.df <-
data.frame(S = c(sapply(1:10, function(x) rep(paste("S", x, sep = ""),100))),
C = rep(paste("C", 1:100, sep = ""), 10),
response = rnorm(1000), stringsAsFactors = F)
Run Code Online (Sandbox Code Playgroud)
所以我匹配的主题是response.df:
match.idx <- match(response.df$S, rownames(features.mat))
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种快速计算每个特征和响应的单变量回归的方法.
比这更快的东西?:
fun <- function(f){
fit <- lm(response.df$response ~ features.mat[match.idx,f])
beta <- coef(summary(fit))
data.frame(feature = colnames(features.mat)[f], effect = beta[2,1],
p.val = beta[2,4], stringsAsFactors = F))
}
res <- do.call(rbind, lapply(1:ncol(features.mat), …Run Code Online (Sandbox Code Playgroud) 我有一个R shiny应用程序使用R和来生成plotly和ggplot2显示数字。
因为渲染plotly图形shiny需要plotly函数,所以renderPlotly图形ggplot2会转换为零件plotly中的对象renderPlotly,这会让它们有点混乱。
这是一个例子。首先,生成一些数据:
set.seed(1)
meta.df <- data.frame(cell = c(paste0("c_",1:1000,"_1w"), paste0("c_",1:1000,"_2w"), paste0("c_",1:1000,"_3w")),
cluster = c(sample(c("cl1","cl2","cl3"),1000,replace=T)),
age = c(rep(1,1000),rep(2,1000),rep(3,1000)),
x = rnorm(3000), y = rnorm(3000))
expression.mat <- cbind(matrix(rnorm(20*1000,1,1), nrow=20, ncol=1000, dimnames=list(paste0("g",1:20),meta.df$cell[1:1000])),
matrix(rnorm(20*1000,2,1), nrow=20, ncol=1000, dimnames=list(paste0("g",1:20),meta.df$cell[1001:2000])),
matrix(rnorm(20*1000,3,1), nrow=20, ncol=1000, dimnames=list(paste0("g",1:20),meta.df$cell[2001:3000])))
Run Code Online (Sandbox Code Playgroud)
这是应用程序代码:
library(shiny)
library(dplyr)
library(ggplot2)
library(ggpmisc)
server <- function(input, output, session)
{
output$gene <- renderUI({
selectInput("gene", "Select Gene to Display", choices …Run Code Online (Sandbox Code Playgroud) r ×6
ggplot2 ×2
heatmap ×2
plotly ×2
aggregate ×1
axis-labels ×1
binary ×1
c++ ×1
data-mining ×1
data.table ×1
dataframe ×1
getline ×1
ifstream ×1
inflection ×1
lm ×1
loess ×1
na ×1
ofstream ×1
regression ×1
render ×1
shiny ×1