【发布时间】:2026-01-30 23:35:02
【问题描述】:
我有一个包含字符和数字列的数据框,稍后在绘制 PCA 时,我需要绘制字符列,因此我想将列“站”转换为字符。
数据框:
coldata <- data.frame(Location = c(West,West,East,East),
Station = c(1,2,3,4),
A = c("0.3","0.2","0.8","1"))
以及列的类型:
sapply(coldata, mode) location station A
"character" "numeric" "numeric"
我想要这个:
sapply(coldata, mode) location station A
"character" "character" "numeric"
如果包含数字,可以将列标记为“字符”吗?还是我必须将数字转换为单词:即:1、2、3,4 为一、二、三、四?
我看到很多帖子将字符转换为数字,但没有将数字转换为字符。
【问题讨论】:
-
coldata$Station <- as.character(coldata$Station) -
照常做
coldata$Station <- as.character(coldata$Station) -
"4"与4不同,这里不需要拼出数字。 -
是的
"1"是一个字符,而1是一个数字(整数)。如果您只想修改一列,您可以像 Sotos 所说的那样做。这个问题是重复的。 -
请注意,
A可能不是您可以相信的意义上的数字:当您加上引号时,它已作为因子导入,因此您不会有 0.3、0.2 等,但是1, 2, 3, 4(因子水平)(或者它只是你的例子中的一个错字,因为Location缺少引号?)
标签: r