楼主: fcfc2013
11946 6

[实际应用] 转换数据框 指定列数据类型 [推广有奖]

  • 3关注
  • 1粉丝

已卖:1169份资源

博士生

76%

还不是VIP/贵宾

-

威望
0
论坛币
7223 个
通用积分
6.2147
学术水平
12 点
热心指数
26 点
信用等级
9 点
经验
14348 点
帖子
307
精华
0
在线时间
285 小时
注册时间
2013-2-13
最后登录
2020-2-7

楼主
fcfc2013 发表于 2018-9-16 22:22:22 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

TIM截图20180916221511.png

  1. > str(query_GPS)
  2. 'data.frame':        13150 obs. of  9 variables:
  3. $ id      : chr  "1010852" "1010852" "1010852" "1010852" ...
  4. $ 车牌号码: chr  "鄂A3QD28" "鄂A3QD28" "鄂A3QD28" "鄂A3QD28" ...
  5. $ 速度    : chr  "34.0" "33.0" "34.0" "0.0" ...
  6. $ 经度    : chr  "114.299067" "114.312943" "114.328343" "114.327282" ...
  7. $ 纬度    : chr  "30.642155" "30.687871" "30.742519" "30.662274" ...
  8. $ 里程数  : chr  "10419.10" "10426.60" "10435.70" "10447.50" ...
  9. $ 地址    : chr  "湖北省武汉市江岸区兴业南路 中百超市(盛世东方店)东北132米" "湖北省武汉市江岸区岱山二桥 岱家山大桥附近13米" "湖北省武汉市黄陂区 牌楼塆东南522米" "湖北省武汉市江岸区汉黄路 省客集团新荣客运站内,武汉市农村商业银行(岱山支行)北259米" ...
  10. $ 点火时间: chr  "2018-09-01 12:38:59" "2018-09-01 13:00:20" "2018-09-01 14:06:20" "2018-09-01 14:30:01" ...
  11. $ 熄火时间: chr  "2018-09-01 12:59:50" "2018-09-01 13:28:52" "2018-09-01 14:29:53" "2018-09-01 14:52:03" ...
复制代码
数据框 中 各列数据 都是 chr 型;
我想 更改 $ id : , $ 速度 :  , $ 经度 :, $ 纬度 :, $ 里程数 :  为数值型
$ 车牌号码: , $ 地址 :  为  chr
$ 点火时间: , $ 熄火时间:   为时间型  




sapply(query_GPS, as.numeric)  这段代码 全部改变了类型 怎么指定需要更改 列?


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:数据类型 数据框 Variables Variable numeric sapply

回帖推荐

cheetahfly 发表于4楼  查看完整内容

沙发
cheetahfly 在职认证  发表于 2018-9-17 08:04:52
dplyr::mutate_at()
已有 1 人评分论坛币 热心指数 收起 理由
fcfc2013 + 5 + 2 热心帮助其他会员

总评分: 论坛币 + 5  热心指数 + 2   查看全部评分

藤椅
fcfc2013 发表于 2018-9-19 22:56:24
cheetahfly 发表于 2018-9-17 08:04
dplyr::mutate_at()
能给写个 示例代码吗?
GPS$速度  转换未 数值型  保留小数点后一位 ;    (数据格式:  "45.0")
GPS$点火时间 转换成日期时间型 (原字串符格式中 日期和时间中还有一个空格) 转换成日期时间 是为了 数据筛选 和 计算 时差  (数据格式: 2018-08-09 13:26:36)

板凳
cheetahfly 在职认证  发表于 2018-9-19 23:08:44
fcfc2013 发表于 2018-9-19 22:56
能给写个 示例代码吗?
GPS$速度  转换未 数值型  保留小数点后一位 ;    (数据格式:  "45.0")
GPS$点 ...
  1. library(tidyverse)
  2. library(lubridate)
  3. newData <- query_GPS %>%
  4.   mutate_at(.vars = vars(id, 速度, 经度, 纬度, 里程数), .fun = as.numeric) %>%
  5.   mutate_at(.vars = vars(点火时间, 熄火时间), .fun = as_date) %>%
  6.   mutate(速度 = round(速度, 1))
复制代码

报纸
fcfc2013 发表于 2018-9-20 10:13:59
cheetahfly 发表于 2018-9-19 23:08
对日期时间的转换 修改为:
  1. mutate_at(.vars = vars(卫星时间), .fun = as.POSIXct)
复制代码

地板
cheetahfly 在职认证  发表于 2018-9-20 11:42:31
fcfc2013 发表于 2018-9-20 10:13
对日期时间的转换 修改为:
疏忽了。还可以用as_datetime()
已有 1 人评分论坛币 收起 理由
fcfc2013 + 5 精彩帖子

总评分: 论坛币 + 5   查看全部评分

7
cheetahfly 在职认证  发表于 2018-9-20 11:42:32
fcfc2013 发表于 2018-9-20 10:13
对日期时间的转换 修改为:
疏忽了。还可以用as_datetime()

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-9 06:10