我想排除包含字符串"REVERSE"的行,但我的行与单词完全不匹配,只包含它.
我的输入数据框:
Value Name
55 REVERSE223
22 GENJJS
33 REVERSE456
44 GENJKI
Run Code Online (Sandbox Code Playgroud)
我的预期产量:
Value Name
22 GENJJS
44 GENJKI
Run Code Online (Sandbox Code Playgroud) 我想限制导入数据帧时的小数位数.我的.txt输入在collumn"Value"中的每一行都有16位小数.我的数据框看起来像这样:
Value
0.202021561664556
0.202021561664556
0.202021561664556
0.202021561664556
...
Run Code Online (Sandbox Code Playgroud)
我预期的数据框架
Value
0.20202156
0.20202156
0.20202156
0.20202156
...
Run Code Online (Sandbox Code Playgroud)
无效的实际输入(DF):
DF <- "NE001358.Log.R.Ratio
-0.0970369274475688
0.131893549586039
0.0629266495860389
0.299559132381831
-0.0128804337656807
0.0639743960526874
0.0271669351886552
0.322395363972391
0.179591292893632"
DF <- read.table(text=DF, header = TRUE)
Run Code Online (Sandbox Code Playgroud) 我想删除基于两个列的重复行,而只是一个.
我的意见df:
RAW.PVAL GR allrl Bak
0.05 fr EN1 B12
0.05 fg EN1 B11
0.45 fr EN2 B10
0.35 fg EN2 B066
Run Code Online (Sandbox Code Playgroud)
我的输出:
RAW.PVAL GR allrl Bak
0.05 fr EN1 B12
0.45 fg EN2 B10
0.35 fg EN2 B066
Run Code Online (Sandbox Code Playgroud)
我曾尝试过df<- subset(df, !duplicated(allrl, RAW.PVAL)),但我不会删除同时复制这两列的行.
谢谢!
随着我的输入不断涌现,我想实现对神经网络的持续训练.但是,当我获得新数据时,标准化值将随时间而变化.让我们说,我得到的时间:
df <- "Factor1 Factor2 Factor3 Response
10 10000 0.4 99
15 10200 0 88
11 9200 1 99
13 10300 0.3 120"
df <- read.table(text=df, header=TRUE)
normalize <- function(x) {
return ((x - min(x)) / (max(x) - min(x)))
}
dfNorm <- as.data.frame(lapply(df, normalize))
### Keep old normalized values
dfNormOld <- dfNorm
library(neuralnet)
nn <- neuralnet(Response~Factor1+Factor2+Factor3, data=dfNorm, hidden=c(3,4),
linear.output=FALSE, threshold=0.10, lifesign="full", stepmax=20000)
Run Code Online (Sandbox Code Playgroud)
然后,随着时间的推移,
df2 <- "Factor1 Factor2 Factor3 Response
12 10100 0.2 101
14 10900 -0.7 108
11 9800 0.8 …Run Code Online (Sandbox Code Playgroud) 你好我试图B从矩阵中的列A中减去列dat来创建一个C列(A- B):
我的意见:
A B
1 2
2 2
3 2
4 2
Run Code Online (Sandbox Code Playgroud)
我的预期产量:
A B C
1 2 -1
2 2 0
3 2 1
4 2 2
Run Code Online (Sandbox Code Playgroud)
我试过了:dat$C <- (dat$A - dat$B)但是我得到了:## $ operator is invalid for atomic vectors错误
干杯.
我正在尝试为数据框中end的col ensnp中的所有行添加前缀chrs:
Name endsnp
Bov001 Bov001
Bov002 Bov001
Run Code Online (Sandbox Code Playgroud)
我的预期输出必须是这样的:
Name endsnp
Bov001 endBov001
Bov002 endBov001
Run Code Online (Sandbox Code Playgroud)
我试过了chrs <- transform(chrs, endsnp = sprintf("end", endsnp)),但是得到了这个输出:
Name endsnp
Bov001 end
Bov002 end
Run Code Online (Sandbox Code Playgroud)
关于我的错误的任何想法?谢谢!
假设我将caret在 R 中进行培训,但我想将此培训分为两个运行会话。
library(mlbench)
data(Sonar)
library(caret)
set.seed(998)
inTraining <- createDataPartition(Sonar$Class, p = .75, list = FALSE)
training <- Sonar[ inTraining,]
testing <- Sonar[-inTraining,]
# First run session
nn.partial <- train(Class ~ ., data = training,
method = "nnet",
max.turns.of.iteration=5) # Non-existent parameter. But represents my goal
Run Code Online (Sandbox Code Playgroud)
让我们假设nn整个对象我只有一个部分对象,它在第 5 回合(即nn.partial)之前具有训练信息。因此,将来我可以运行以下代码来完成训练工作:
library(mlbench)
data(Sonar)
library(caret)
set.seed(998)
inTraining <- createDataPartition(Sonar$Class, p = .75, list = FALSE)
training <- Sonar[ inTraining,]
testing <- Sonar[-inTraining,]
nn <- train(Class ~ ., …Run Code Online (Sandbox Code Playgroud) parallel-processing r machine-learning neural-network r-caret
我想推断不同样本之间的共享基因组间隔.
我的意见:
sample chr start end
NE001 1 100 200
NE001 2 100 200
NE002 1 50 150
NE002 2 50 150
NE003 2 250 300
Run Code Online (Sandbox Code Playgroud)
我的预期产量:
chr start end freq
1 100 150 2
2 100 150 2
Run Code Online (Sandbox Code Playgroud)
其中"freq"是有多少样本用于推断共享区域.在上面的示例中,freq = 2(NE001和NE002).
干杯!
我想根据每列的算术平均值对数据框的列重新排序.
对于:
S1 S2 S3
1 1 1
2 1 1
3 3 1
Run Code Online (Sandbox Code Playgroud)
预期的产出是:
S3 S2 S1
1 1 1
1 1 2
1 3 3
Run Code Online (Sandbox Code Playgroud)
在上述情况下,平均值分别为:S1 = 2,S2 = 1.6666和S3 = 1,反相S1和S3列位置中的数据帧.
另外,我的真实数据也有NA的值.
我想根据列在数据框中重复整行samples。
我的输入:
df <- 'chr start end samples
1 10 20 2
2 4 10 3'
df <- read.table(text=df, header=TRUE)
Run Code Online (Sandbox Code Playgroud)
我的预期输出:
df <- 'chr start end samples
1 10 20 1-10-20-s1
1 10 20 1-10-20-s2
2 4 10 2-4-10-s1
2 4 10 2-4-10-s2
2 4 10 2-4-10-s3'
Run Code Online (Sandbox Code Playgroud)
一些想法如何明智地执行它?
我想通过特定模式重命名数据框中的所有列.
我的意见:
Log.NE122 Log.NE244 Log.NE144
-0.33 0.98 1.0
Run Code Online (Sandbox Code Playgroud)
我的预期产量:
NE122 NE244 NE144
-0.33 0.98 1.0
Run Code Online (Sandbox Code Playgroud)
干杯.
我想df根据行的总和对列进行子集化.
df 数据帧:
NE001 NE002 NE003 NE004
2 0 0 2
Run Code Online (Sandbox Code Playgroud)
我的预期产量dfo:
NE001 NE004
2 2
Run Code Online (Sandbox Code Playgroud)
我试过dfo <- df[,which(names(df) == colSums(df==2))]但不行.
一些想法?
我想在我的 ggplot 中包含更详细的图例。当前的图例并不代表我所有的点尺寸。在以下示例中:
df <- "Freq Obs NumberOfWindows
15 0.5 40
12 0.4 80
10 0.3 100
8 0.2 800
6 0.18 1300
3 0.1 2000
1 0.05 30000"
ResA <- read.table(text=df, header=T)
library(ggplot2)
ggplot(ResA, aes(Freq, Obs, size=NumberOfWindows)) +
geom_point() +
xlab("Boundary frequency") +
ylab("Average number of overlaps per window (10kb)") +
ggtitle(as.character("The plot"))+
theme_bw()+
scale_size_continuous(name="area", range = c(1,20))
Run Code Online (Sandbox Code Playgroud)
请注意,我的数字范围从 40 到 30000。我在那里有很大的差异,但是,我希望在图例中至少有最大和最小的点。否则图例对小点没有多大帮助。这里的任何想法都受到高度赞赏。