基于列和命名向量创建新列[关闭](Create a new column based on a column and a named vector [closed])

编程入门 行业动态 更新时间:2024-10-15 08:26:46
基于列和命名向量创建新列[关闭](Create a new column based on a column and a named vector [closed])

我正在寻找一种快速简便的方法,通过从现有列和命名向量映射在我的data.frame中创建一个新列。 例如:

df <- data.frame(letters = LETTERS[1:8]) vec <- c("A" = "1", "B" = "2", "C" = "3", "D" = "1", "E" = "2", "F" = "3", "G" = "1", "H" = "2")

从此我想要:

letters numbers 1 A 1 2 B 2 3 C 3 4 D 1 5 E 2 6 F 3 7 G 1 8 H 2

我希望有一些简单的东西能起作用:

df$numbers <- vec[[df$letters]]

但这给了我

Error in vec[[df$letters]] : attempt to select more than one element

在此先感谢您的帮助。

I am looking for a fast and easy way to create a new column in my data.frame by mapping from an existing column and a named vector. For example:

df <- data.frame(letters = LETTERS[1:8]) vec <- c("A" = "1", "B" = "2", "C" = "3", "D" = "1", "E" = "2", "F" = "3", "G" = "1", "H" = "2")

From this I want:

letters numbers 1 A 1 2 B 2 3 C 3 4 D 1 5 E 2 6 F 3 7 G 1 8 H 2

I was hoping something as simple as this would work:

df$numbers <- vec[[df$letters]]

But this gives me

Error in vec[[df$letters]] : attempt to select more than one element

Thanks in advance for your help.

最满意答案

感谢@Pierre Lafortune提供以下答案:

df$numbers <- vec[df$letters]

Thanks to @Pierre Lafortune for the following answer:

df$numbers <- vec[df$letters]

更多推荐

本文发布于:2023-08-07 07:53:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1463011.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:向量   column   Create   based   vector

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!