r - 使用 str_to_title 更改 col 名称时出现问题
问题描述
我有一个如下所示的数据集:
它可以使用代码构建:
df<- structure(list(`Med` = c("DOCETAXEL",
"BEVACIZUMAB", "CARBOPLATIN", "CETUXIMAB", "DOXORUBICIN", "IRINOTECAN"
), `2.4 mg` = c(0, 0, 0, 0, 1, 0), `PRIOR CANCER THERAPY` = c(4L,
3L, 3L, 3L, 3L, 3L), `PRIOR CANCER SURGERY` = c(0, 0, 0, 0, 0,
0), `PRIOR RADIATION THERAPY` = c(0, 0, 0, 0, 0, 0)), row.names = c(NA,
6L), class = "data.frame")
现在我想将不以数字开头的 col 名称更改为正确的大小写。我该怎么做?我以为我可以使用str_to_title
. 我尝试了很多方法都无法让它工作。这是我尝试过的代码:
# try1:
df[,3:5] %>% setNames(str_to_title(colnames(df[,3:5])))
#try2:
df[,3:5] <- df[,3:5]%>% rename_with (str_to_title)
# try3:
colnames(df[,3:5])<- str_to_title(colnames(df[,3:5]))
我做错了什么?没有错误消息,只是 col 名称没有更新。任何人都可以帮我找出问题所在,或者如果有的话,可以告诉我一个更好的方法吗?
在这里我有小数据,然后我可以找到列号。如果我希望它自动将 col 名称更正为正确的大小写,我该怎么做?
谢谢。
解决方案
我们可以用
library(dplyr)
library(stringr)
df %>%
rename_at(3:5, ~ str_to_title(.))
-输出
# Med 2.4 mg Prior Cancer Therapy Prior Cancer Surgery Prior Radiation Therapy
#1 DOCETAXEL 0 4 0 0
#2 BEVACIZUMAB 0 3 0 0
#3 CARBOPLATIN 0 3 0 0
#4 CETUXIMAB 0 3 0 0
#5 DOXORUBICIN 1 3 0 0
#6 IRINOTECAN 0 3 0 0
或使用rename_with
df %>%
rename_with(~ str_to_title(.), 3:5)
推荐阅读
- autohotkey - 如何禁用自动热键中的语法字符?
- python - 如何使用 python 将页面添加到现有的 excel 电子表格
- excel - 下拉覆盖后将单元格重置回公式
- c# - Xamarin:共享对话框将关闭时的事件处理程序
- c# - 比较两个列表
> 在 C# 中并获取结果列表 - apache - .htaccess 重定向 301:多个斜杠的问题
- r - 我有一个包含性别、班级和年龄的数据框。我需要一个结果表,给出按性别和班级划分的年龄平均值,平均值与观察值的差异
- git - 如何触发对詹金斯多分支管道的扫描?
- azure-functions - 如何在 Azure Function 中调用 WCF?
- html - 如何解析kml文件以放大地图