gpt4 book ai didi

r - 在数字数据帧中添加字符串并连接两个字符串数据帧

转载 作者:行者123 更新时间:2023-12-04 00:17:04 25 4
gpt4 key购买 nike

我有两个数字数据帧,具有对数倍数变化 (LFC) 的 df1 和具有 p 值的 df2。

df1 = data.frame(V1=c(1.2, 1.5, 0.3),
V2=c(0.5, 0.9, 1.1),
V3=c(-0.9, -1.5, -0.4))

df2 = data.frame(Y1=c(0.02, 0.005, 0.06),
Y2=c(0.05, 0.009, 0.01),
Y3=c(0.01, 0.001, 0.1))

出于某些演示目的,我想在 df1 中添加前缀“LFC =”,在 df2 中添加前缀“p =”,以便得到以下内容:

df1

V1 V2 V3
LFC = 1.2 LFC = 0.5 LFC = -0.9
LFC = 1.5, LFC = 0.9 LFC = -1.5
LFC = 0.3 LFC = 1.1 LFC = -0.4


df2

Y1 Y2 Y3
p = 0.02 p = 0.05 p = 0.01
p = 0.005 p = 0.009 p = 0.001
p = 0.06 p = 0.01 p = 0.1

并最终将它们连接起来以获得结构如下的 3x3 数据框:

df3

V1 V2 V3
LFC = 1.2, LFC = 0.5, LFC = -0.9,
p = 0.02 p = 0.05 p = 0.01

LFC = 1.5, LFC = 0.9, LFC = -1.5
p = 0.005 p = 0.009 p = 0.001

LFC = 0.3, LFC = 1.1, LFC = -0.4,
p = 0.06 p = 0.01 p = 0.1

在这里做什么?感谢您的解决方案。

最佳答案

一种方法是粘贴前缀和Map,即

Map(`rbind`, lapply(df1, function(i)paste0('LFC = ', i)), 
lapply(df2, function(i) paste0('p = ', i)))

给出,

$V1
[,1] [,2] [,3]
[1,] "LFC = 1.2" "LFC = 1.5" "LFC = 0.3"
[2,] "p = 0.02" "p = 0.005" "p = 0.06"

$V2
[,1] [,2] [,3]
[1,] "LFC = 0.5" "LFC = 0.9" "LFC = 1.1"
[2,] "p = 0.05" "p = 0.009" "p = 0.01"

$V3
[,1] [,2] [,3]
[1,] "LFC = -0.9" "LFC = -1.5" "LFC = -0.4"
[2,] "p = 0.01" "p = 0.001" "p = 0.1"

如果你想要一个矩阵(或数据框)而不是列表,那么只需使用 mapply 而不是 Map,即

mapply(`rbind`, lapply(df1, function(i)paste0('LFC = ', i)), 
lapply(df2, function(i) paste0('p = ', i)))

V1 V2 V3
[1,] "LFC = 1.2" "LFC = 0.5" "LFC = -0.9"
[2,] "p = 0.02" "p = 0.05" "p = 0.01"
[3,] "LFC = 1.5" "LFC = 0.9" "LFC = -1.5"
[4,] "p = 0.005" "p = 0.009" "p = 0.001"
[5,] "LFC = 0.3" "LFC = 1.1" "LFC = -0.4"
[6,] "p = 0.06" "p = 0.01" "p = 0.1"

你也可以paste代替rbind,即

 mapply(`paste`, lapply(df1, function(i)paste0('LFC = ', i)), 
lapply(df2, function(i) paste0('p = ', i)))

V1 V2 V3
[1,] "LFC = 1.2 p = 0.02" "LFC = 0.5 p = 0.05" "LFC = -0.9 p = 0.01"
[2,] "LFC = 1.5 p = 0.005" "LFC = 0.9 p = 0.009" "LFC = -1.5 p = 0.001"
[3,] "LFC = 0.3 p = 0.06" "LFC = 1.1 p = 0.01" "LFC = -0.4 p = 0.1"

关于r - 在数字数据帧中添加字符串并连接两个字符串数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62949592/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com