data$colname 和 data["colname"] 的区别
Difference between data$colname and data[,"colname"]
我正在尝试使用 as.Date
函数将字符列转换为日期列。当我输入 as.Date(data$colname)
时它起作用了。但是,当我输入 as.Date(data[,"colname"])
时是 returns
do not know how to convert 'data[,"colname"]' to class “Date”
- 为什么第二个选项不起作用?
- 我如何更改第二个选项以使其有效?
最后我想在函数中使用 as.Date
并将列名作为参数。这样我就看不出如何使用 $
.
谢谢!
我的数据样本:
structure(list(colname = structure(c(1014036051, 1034089765,
1237297478, 1260283949, 1274454601, 1580486457.445, 1581671766.241,
1401445496, 1279550892, 1173094955), tzone = "UTC", class = c("POSIXct",
"POSIXt"))), row.names = c(NA, -10L), class = c("tbl_df", "tbl",
"data.frame"))
您可以将列名作为函数参数传入,并使用 df[[col]]
:
引用它们
df <- data.frame(a = c("2020-01-01", "2020-02-01"), b = 4:5, stringsAsFactors = F)
class(df$a)
# [1] "character"
convert_to_date_type <- function(data, col) as.Date(data[[col]], "%Y-%m-%d")
df["date"] <- convert_to_date_type(df, "a")
class(df$date)
# [1] "Date"
我正在尝试使用 as.Date
函数将字符列转换为日期列。当我输入 as.Date(data$colname)
时它起作用了。但是,当我输入 as.Date(data[,"colname"])
时是 returns
do not know how to convert 'data[,"colname"]' to class “Date”
- 为什么第二个选项不起作用?
- 我如何更改第二个选项以使其有效?
最后我想在函数中使用 as.Date
并将列名作为参数。这样我就看不出如何使用 $
.
谢谢!
我的数据样本:
structure(list(colname = structure(c(1014036051, 1034089765,
1237297478, 1260283949, 1274454601, 1580486457.445, 1581671766.241,
1401445496, 1279550892, 1173094955), tzone = "UTC", class = c("POSIXct",
"POSIXt"))), row.names = c(NA, -10L), class = c("tbl_df", "tbl",
"data.frame"))
您可以将列名作为函数参数传入,并使用 df[[col]]
:
df <- data.frame(a = c("2020-01-01", "2020-02-01"), b = 4:5, stringsAsFactors = F)
class(df$a)
# [1] "character"
convert_to_date_type <- function(data, col) as.Date(data[[col]], "%Y-%m-%d")
df["date"] <- convert_to_date_type(df, "a")
class(df$date)
# [1] "Date"