连接数据帧的行或列

问题描述 投票:0回答:2

使用R:

我用了多个字母串:

Orig1 - ABCDE

Orig2 - FGHIJ

Orig3 - KLMNO

我使用strsplit分割了那些字母字符串:

Orig1 - A B C D E

Orig2 - F G H I J

Orig3 - K L M N O

并且我将每个字母放在数据框中的自己的行和列中。每个字符串在其自己的行中,其后的每个字母都在其自己的列中:

RowName   V1 V2 V3 V4 V5

Orig1     A  B  C  D  E

Orig2     F  G  H  I  J

Orig3     K  L  M  N  O

我基于对这些字母字符串的各种分析,操纵了这些字母字符串以提出多个变更的字符串:

RowName   V1 V2 V3 V4 V5

Altered1  A  G  H  N  E

Altered2  F  B  C  I  O

Altered3  K  L  M  D  J

我不知道如何将更改后的字符串折叠回数据框。我需要此文件才能将其转换为可导出的.fasta文件,并将行名作为后续序列名。

粘贴在数据框中不起作用,所以我尝试使用类似主题上另一个线程的代码:

ldf = lapply(as.list(1:dim(df)[1]), function(x) df[x[1],])

这将它们放入自己的列表中,然后可以在其上使用粘贴,但是我发现输出令人困惑,无法尝试导出。

任何帮助将不胜感激。

r string concatenation paste
2个回答
0
投票
我不确定您是否想要这个

> do.call(paste,c(df[-1],sep = "")) [1] "AGHNE" "FBCIO" "KLMDJ"

数据

df <- structure(list(RowName = c("Altered1", "Altered2", "Altered3" ), V1 = c("A", "F", "K"), V2 = c("G", "B", "L"), V3 = c("H", "C", "M"), V4 = c("N", "I", "D"), V5 = c("E", "O", "J")), class = "data.frame", row.names = c(NA, -3L)) > df RowName V1 V2 V3 V4 V5 1 Altered1 A G H N E 2 Altered2 F B C I O 3 Altered3 K L M D J

0
投票
如果我们要按行paste ing

library(dplyr) library(stringr) reduce(select(df, -1), str_c, sep="") #[1] "AGHNE" "FBCIO" "KLMDJ"

数据

df <- structure(list(RowName = c("Altered1", "Altered2", "Altered3" ), V1 = c("A", "F", "K"), V2 = c("G", "B", "L"), V3 = c("H", "C", "M"), V4 = c("N", "I", "D"), V5 = c("E", "O", "J")), class = "data.frame", row.names = c(NA, -3L))

© www.soinside.com 2019 - 2024. All rights reserved.