相关疑难解决方法(0)

dplyr更改了许多数据类型

更改数据类型我可以使用类似的东西

l1 <- c("fac1","fac2","fac3")
l2 <- c("dbl1","dbl2","dbl3")
dat[,l1] <- lapply(dat[,l1], factor)
dat[,l2] <- lapply(dat[,l2], as.numeric)
Run Code Online (Sandbox Code Playgroud)

dplyr

dat <- dat %>% mutate(
    fac1 = factor(fac1), fac2 = factor(fac2), fac3 = factor(fac3),
    dbl1 = as.numeric(dbl1), dbl2 = as.numeric(dbl2), dbl3 = as.numeric(dbl3)
)
Run Code Online (Sandbox Code Playgroud)

在dplyr中有更优雅(更短)的方式吗?

克里斯托夫

r dataframe dplyr

52
推荐指数
5
解决办法
8万
查看次数

在R中将字符转换为时间

在以下数据框中,"时间"列为 character

id<-c(1,2,3,4)
time<-c("00:00:01","01:02:00","09:30:01","14:15:25")
df<-data.frame(id,time)
Run Code Online (Sandbox Code Playgroud)

我想知道如何将其转换为time可以对其进行算术运算.

r

26
推荐指数
5
解决办法
7万
查看次数

将data.frame中的列转换为日期

我的数据框

a1 <- c("a","a","b","b","c","d","e","e")
b2 <- c("01.01.2015", "02.02.2015", "14.02.2012", "16.08.2008", "17.06.2003", "31.01.2015", "07.01.2022", "09.05.2001")
c3 <- c("1a", "2b", "3c", "4d", "5e", "6f", "7g", "8h")
d3 <- c(1:8)

df2 <- data.frame(a1,b2,c3,d3, stringsAsFactors = F)
Run Code Online (Sandbox Code Playgroud)

我的代码.

library(dplyr)
library(magrittr)

test <- df2 %>%
    group_by(a1) %>% 
    as.Date(b2, format = "%d.%m.%Y")
Run Code Online (Sandbox Code Playgroud)

as.Date.default(.,b2,format ="%d.%m.%Y")出错:不知道如何转换'.' 上课"日期"

好吧,我试过没有管道:

df$b2 <- as.Date(df$b2, format = "%d.%m.%Y")
Run Code Online (Sandbox Code Playgroud)

df $ b2中的错误:'closure'类型的对象不是子集

第一:为什么我得到两个不同的错误信息,因为我(据我的理解)我也这样做?

第二,为什么我不能将我的专栏转换为日期?!

我可能应该补充一点,我知道使用mutate将列更改为date格式.但我想知道为什么我的方法不起作用.

r date dplyr magrittr

3
推荐指数
1
解决办法
3万
查看次数

使用lubridate和dplyr将多列转换为日期

我正在寻找一种简单的方法将数据框中的所有变量(以'date'开头)转换为日期lubridate::dmy()(它们当前是dmy格式的字符).

我原本以为会有mutate_if或mutate_each,dplyr但我正在努力弄清楚如何.

r date lubridate dplyr

3
推荐指数
1
解决办法
2005
查看次数

标签 统计

r ×4

dplyr ×3

date ×2

dataframe ×1

lubridate ×1

magrittr ×1