gpt4 book ai didi

r - 如何根据矩阵/搜索逻辑生成具有值的新列?

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

我正在尝试生成一个列,该列的值依赖于矩阵或求解逻辑,如下所示。

一些虚拟数据:

SomeDiscreteScale<-c("Black", "Black", "Red", "Green", "Blue", "Blue", "Black")
AccordingValue<-c(1:7)
TemplateData<-data.frame(SomeDiscreteScale, AccordingValue)

赋值逻辑:

a<-c("Black", "Red", "Green", "Blue")
b<-c(1:4)
SolvingLogic<-data.frame(a,b)

最终输出应该是这样的:

solution<-c(1,1,2,3,4,4,1)
solution<-cbind(TemplateData, solution)
solution

我现在的做法是将虚拟数据子集化为离散值(此处为黑色、红色、绿色和蓝色),添加所需的新值,然后再次绑定(bind)数据。这当然非常不方便。但我怎样才能更轻松地做到这一点?

非常感谢。

最佳答案

除了match,你还可以看看merge(但是base R的merge有时会很慢而且看起来总是很有趣行顺序的东西):

merge(TemplateData, SolvingLogic, by.x = "SomeDiscreteScale", by.y = "a")
# SomeDiscreteScale AccordingValue b
# 1 Black 1 1
# 2 Black 2 1
# 3 Black 7 1
# 4 Blue 5 4
# 5 Blue 6 4
# 6 Green 4 3
# 7 Red 3 2

关于r - 如何根据矩阵/搜索逻辑生成具有值的新列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27507708/

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