r - 将“,”替换为“。” 在数据框中的多个列值中
问题描述
我有一个包含多列的数据表。其中一些是字符列,其具有数值测量/索引,它们的值具有类似的值"12,3"
或"1,02"
值。小数用逗号代替。
我很想遍历每个这些字符/数字列,并用小数替换逗号,以进一步准备数据以进行分析。
我很想使用tidyverse
函数和类似的东西gsub
。这是我的众多尝试之一:
chr.cols <- c('Agriculture', 'Industry', 'Service', 'Crops (%)', 'Other (%)',
'Arable (%)', 'Phones (per 1000)', 'Net migration', 'Coastline
(coast/area ratio', 'Pop. Density (per sq. mi.)')
countries_df <- for(y in colnames(countries)) {
gsub(pattern = ",", replacement = ".", x = countries$y)
}
解决方案
如果我们不做任何赋值,这些值就不会被替换。如果我们想保留原始数据并使用[[
而不是使用原始数据集('countries_df'),请创建一个副本$
countries_df <- countries
for(y in chr.cols) {
countries_df[[y]] <- gsub(pattern = ",", replacement = ".",
x = countries_df[[y]])
}
请注意,这里我们使用[[
而不是[
这样它仍然适用于具有tbl_df
类data.table
等的数据集。
推荐阅读
- excel - TextBox1_Lostfocus 的代码在文本框“失去焦点”之前开始运行
- laravel - Laravel - PHP Artisan Serve - 新项目
- java - 使用 Java 客户端进行 Elasticsearch 查询序列化
- c - C语言中的if语句
- javascript - 如何使这个反应组件的项目左对齐,容器居中?
- spring - 如何设置 Zuul 设置
- selenium - 每次更改页面时抓取页面
- modelica - 我如何使用“fmi2GetDirectionalDerivative”?
- javascript - 使用 php 和 ajax 验证字段并使用部分
- amazon-web-services - 时间范围内的 Cloudwatch 警报