【发布时间】:2022-12-07 15:32:59
【问题描述】:
我在处理一个看起来像这样的数据框的简单突变时遇到了麻烦:
interaction alphabetical
1 A pp B ABpp
2 A pp G AGpp
3 G pp A AGpp
4 A pp J AJpp
5 J pp A AJpp
6 Q pp A AppQ
我想使用字母列为每一行按字母顺序创建一个新的交互列。 示例:AGpp -> A pp G
我尝试使用这一行:
d <- d %>%
mutate(
correct_order_interaction = paste(
unlist(strsplit(as.character(alphabetical),""))[1],
"pp",
unlist(strsplit(as.character(alphabetical),""))[2]
)
)
但是,这会导致此数据框:
interaction alphabetical correct_order_interaction
1 A pp B ABpp A pp B
2 A pp G AGpp A pp B
3 G pp A AGpp A pp B
4 A pp J AJpp A pp B
5 J pp A AJpp A pp B
6 Q pp A AppQ A pp B
我不太明白为什么这不起作用。这可能不是解决问题的最佳方法,但我之前已经这样做过,而且通常效果很好。
我希望任何人都可以帮助我,如果有更好的方法来解决这个问题,请告诉我:)
非常感谢
dput 数据帧:
structure(list(interaction = c("A pp B", "A pp G", "G pp A",
"A pp J", "J pp A", "Q pp A"), alphabetical = c("ABpp", "AGpp",
"AGpp", "AJpp", "AJpp", "AppQ")), row.names = c(NA, 6L), class = "data.frame")
【问题讨论】:
-
请将您的测试日期添加为
dput()样本,以便我们重新创建它 -
我的错,谢谢你的提醒 :) 我现在把它附在问题的底部