如何将字符串列转换为数字并将字符串值保存为标签而不丢失 R 中的信息?

问题描述 投票:0回答:1

我想将字符串列转换为数字以方便计算,但我也想保留值的信息。因此,我想将字符串值指定为标签。不确定人们是否在 R 中这样做,但这在 Stata 中是常见做法,因此每当您拉出表格或绘制图表时,您都可以看到标签而不是分配的数字。我遇到的问题是有超过 20 个字符串值和超过 10k 行。所以,假设我有以下数据框:

df <- data.frame(color = c("green", "green", "blue", "red", "green", "blue", "red"))
df
  color
1 green
2 green
3  blue
4   red
5 green
6  blue
7   red

如何为每种颜色分配一个数字,保存字符串信息,并将其分配为值标签?

r dataframe label
1个回答
0
投票

您可能想看看这个

恐怕 R 中的 data.frame 中不能有重复的行名称。如果有重复的字符串,您可能需要使用一个因子。下一个示例使用这种方法生成带有标签的条形图。

library(tidyverse)

df |> 
  mutate(color = factor(color)) |> 
  ggplot(aes(x = color)) +
  geom_bar()
© www.soinside.com 2019 - 2024. All rights reserved.