r - 数据框中的非英文字母
问题描述
我在处理数据框中的非英文字母时遇到问题。我想更改列名,但函数dplyr::rename(colName1 = śśś)
显示错误并通知该列不存在。
这只是一个例子。我知道,我可以用不同的方式重命名这些列。
我试图将全局选项中的默认编码更改为 UTF-8,但它没有帮助。
解决方案
我不太清楚问题是什么。如果您想要将非 ASCII 列名称更改为 ASCII 名称,您可以通过将非 ASCII 名称与正则表达式匹配来实现:
可重现的数据:
df <- data.frame(
NY = c("some", "data", "more", "data"),
śśś = c("some", "data", "more", "data")
)
要将非 ASCII 名称更改为 ,例如Whatever
,使用grepl
匹配[^ -~]
字符类 ( [...]
) 以排除( ^
) 任何 ASCII 字符 ( -~
),从而匹配非 ASCII 字符,例如ś
希腊字母、中文字符、阿拉伯字母、元音变音等:
colnames(df)[grepl("[^ -~]", colnames(df))] <- "Whatever"
结果:
df
NY Whatever
1 some some
2 data data
3 more more
4 data data
推荐阅读
- amazon-web-services - 如何使无服务器自动引用 lambda 层?
- typescript - 如何根据带有“()=> void”的tslint对函数进行typedef?
- ios - 是否可以将我的 Firebase 功能用于 iOS 通知?
- ssl - 启用 TLS 的私有 VPC 访问上的 Amazon MSK 集群
- c# - 如何为嵌套对象创建 dto 验证
- c# - 从 BizTalk WCF-WebHttp 适配器向 Mule 服务发布消息时出错:服务不支持内容类型应用程序/json
- javascript - 卡住试图创建一个 if...else if 条件
- swift - 使用带有 React native 和 swift 的原生模块
- json - 来自 react-i18next 和 json 的 useTranslation 返回密钥
- ios - TableView 单元格在交互过程中重复图像,即使我在开头写 cell.imageview.image = nil