基于R中的条件将数值数据转换为字符

k7fdbhmy  于 2023-03-20  发布在  其他
关注(0)|答案(2)|浏览(138)

我有一个月份的数字数据列,所以我想将该列转换为字符类型,同时将值更改为字母。

all_trips %>%
 as.character(all_trips$ride_months == 1) <- 'jan'

它给出误差为:字符错误(所有行程$乘车月== 1)〈-“一月”:找不到函数“as.character〈-”

bnl4lu3b

bnl4lu3b1#

我会用一个简单的合并来完成任务。

all_trips <- data.frame(ride_months=sample(12,10))

table <- data.frame(month_num = seq(1,12,1), 
                    month_str = c("jan", "feb", "mar", "apr", "mai", "jun", 
                                  "jul", "aug", "sep", "oct", "nov", "dec"))

df = merge(all_trips, table, by.x="ride_months", by.y="month_num", sort=FALSE)

   ride_months month_str
1            4       apr
2            5       mai
3            9       sep
4            7       jul
5            3       mar
6            1       jan
7           11       nov
8           10       oct
9            2       feb
10           8       aug

那么你可以简单地覆盖 Dataframe 中的旧列。

all_trips$ride_months <- df$month_str
jjhzyzn0

jjhzyzn02#

all_trips <- data.frame(ride_months=sample(12,10))

all_trips %>%
  mutate(month_str = factor(ride_months, levels = 1:12, labels = month.abb))

如果只想更改ride_months,则为

all_trips %>%
  mutate(ride_months = factor(ride_months, levels = 1:12, labels = month.abb))

相关问题