gpt4 book ai didi

R 将数据框中的字符串更改为数字

转载 作者:行者123 更新时间:2023-12-01 22:06:07 24 4
gpt4 key购买 nike

我有一个如下的数据框,希望通过根据条件将数据框中的字符替换为数字来生成另一个数据框。

condition:
GD 5
O 4.5
AV 3
B 2.5

dataframe:
Name Peter Paul Mary Chan Jose
Nokia B O O GD GD
iPhone AV O O O O
Moto AV AV O O AV
HTC B O AV AV AV

dput:
structure(list(Name = c("Nokia", "iPhone", "Moto", "HTC"), Peter =
c("B", "AV", "AV", "B"), Paul = c("O", "O", "AV", "O"), Mary =
c("O", "O", "O", "AV"), Chan = c("GD", "O", "O", "AV"), Jose =
c("GD", "O", "AV", "AV")), .Names =
c("Name", "Peter", "Paul", "Mary", "Chan", "Jose"), class = "data.frame", row.names = c(NA, -4L))

desired output:
Name Peter Paul Mary Chan Jose
Nokia 2.5 4.5 4.5 5 5
iPhone 3 4.5 4.5 4.5 4.5
Moto 3 3 4.5 4.5 3
HTC 2.5 4.5 3 3 3

感谢您的帮助!!!

最佳答案

我不确定条件的结构是什么,但假设它是一个命名向量

condition <- setNames(c(5, 4.5, 3, 2.5), c("GD", "O", "AV", "B"))

我会简单地取消列出/匹配您的数据集并将其放回

df[-1] <- condition[match(unlist(df[-1]), names(condition))]
df
# Name Peter Paul Mary Chan Jose
# 1 Nokia 2.5 4.5 4.5 5.0 5.0
# 2 iPhone 3.0 4.5 4.5 4.5 4.5
# 3 Moto 3.0 3.0 4.5 4.5 3.0
# 4 HTC 2.5 4.5 3.0 3.0 3.0

关于R 将数据框中的字符串更改为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40523858/

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