我的输入文件:
x <- read.table(textConnection('
t0 t1 t2 t3 t4
aa 0 1 0 1 0
bb 1 0 1 0 1
cc 0 0 0 0 0
dd 1 1 1 0 1
ee 1 1 1 0 0
ff 0 0 1 0 1
gg -1 -1 -1 -1 0
hh -1 1 -1 1 -1
'), header=TRUE)
Run Code Online (Sandbox Code Playgroud)
我想首先计算每列的频率,即
t0 t1 t2 t3 t4
freqency 5/8 5/8 6/8 3/8 4/8
Run Code Online (Sandbox Code Playgroud)
然后将频率乘以矩阵x,得到如下的新矩阵:
t0 t1 t2 t3 t4
aa 0 5/8 …Run Code Online (Sandbox Code Playgroud) 输入文件:
y <- read.table(textConnection('
c1 c2 c3
1 a b -1
2 a b -1
3 a c 1
4 a b 1
5 a b -1
'), header=TRUE)
Run Code Online (Sandbox Code Playgroud)
因此,y是
c1 c2 c3
1 a b -1
2 a b -1
3 a c 1
4 a b 1
5 a b -1
Run Code Online (Sandbox Code Playgroud)
输出文件将是:
c1 c2 c3
1 a b -1
3 a c 1
4 a b 1
Run Code Online (Sandbox Code Playgroud)
如何删除所有列中具有相同条目的多个或重复行?
输入文件是
Mydata <- read.table(con <- textConnection('
gene treatment1 treatment2 treatment3
aaa 1 0 1
bbb 1 1 1
ccc 0 0 0
eee 0 1 0
'), header=TRUE)
close(con)
Run Code Online (Sandbox Code Playgroud)
Mydata是
gene treatment1 treatment2 treatment3
1 aaa 1 0 1
2 bbb 1 1 1
3 ccc 0 0 0
4 eee 0 1 0
Run Code Online (Sandbox Code Playgroud)
为了构建集群,我已经完成了
d <- dist(mydata, method = "euclidean")
fit <- hclust(d, method="ward")
plot(fit)
Run Code Online (Sandbox Code Playgroud)
我得到了基于"欧几里德"距离的集群.
在我之前的stackoverflow消息中 如何使用R来计算Tanimoto/Jacquard Score作为距离矩阵
我发现我也可以用R来计算tanimoto-jacquard距离矩阵.你能不能教我如何将tanimoto-jacquard与前面的步骤结合起来得到一个基于tanimoto-jacquard距离而不是euclidean计算的距离矩阵的聚类?非常感谢.
我有下表:
column1 column2
1 aaa^bbb
2 aaa^bbb|ccc^ddd
Run Code Online (Sandbox Code Playgroud)
我想有一个输出文件如下:
column1 column2 column3
1 aaa bbb
2 aaa bbb
3 ccc ddd
Run Code Online (Sandbox Code Playgroud)
如果有聪明的方法,你能不能让我知道吗?
我试图做两件事;
对于^,我想将上下文分为第2列和第3列.
对于|,我想将它分隔到下一行,但在column1中保持相同的数字(第1行和第3行的列1相同.抱歉,我在这里犯了一个错误.
要重写,输入如下:
column1 column2
x aaa^bbb
y aaa^bbb|ccc^ddd
Run Code Online (Sandbox Code Playgroud)
输出如下:
column1 column2 column3
x aaa bbb
y aaa bbb
y ccc ddd
Run Code Online (Sandbox Code Playgroud) 我已经将一个csv文件加载到R.
文件中有10列.
我想将第1和第3列保存到新文件中.删除其他列的命令行是什么?
我想保存新表,应该使用什么命令行?
非常感谢你的帮助.
是.我应该提供一个更好的例子.
这是我的输入文件(3columns.csv)
Patients Markers Studies
1 AA EXX 1111
2 BB ABCB1 2222|3333|5555|6666
3 CC CCAN 4444|5555
4 DD ABCB1 6666
Run Code Online (Sandbox Code Playgroud)
这是我的输出文件
Patients Markers Studies
1 AA EXX 1111
2 BB ABCB1 2222
2 BB ABCB1 3333
2 BB ABCB1 5555
2 BB ABCB1 6666
3 CC CCAN 4444
3 CC CCAN 5555
4 DD ABCB1 6666
Run Code Online (Sandbox Code Playgroud)
(1)根据以下命令,我对第6行进行了如下更改
sapply(unlist(strsplit(as.character(df[x,3]),"\\|")),c,df[x,1:2],USE.NAMES=FALSE)
Run Code Online (Sandbox Code Playgroud)
(2)我试着将df文件调用为
df <- read.csv(file="3columns.csv",header=TRUE,stringsAsFactors=FALSE)
Run Code Online (Sandbox Code Playgroud)
(3)我\\之前也尝试过添加|
所有这些方法都不起作用,所以我怀疑我可能误解了下面的答复.你介意给我一些指导吗?
最诚挚的问候,凯瑟琳
------原始问题--------------------------
我想使用R的strsplit命令根据符号分隔单元格"|".
但是,会显示一条错误消息:
Error in strsplit(df[x, …Run Code Online (Sandbox Code Playgroud)