逗号的意义? R编程
The significance of a comma? R programming
在 Coursera 的 R 课程作业 1 之前执行练习作业。
练习作业显示["Day"],但我发现["Day"]得到相同的结果。他们为什么要在 header "Day" 列前加逗号?
> andy[which(andy[, "Day"] == 30), "Weight"]
[1] 135
> andy[which(andy["Day"] == 30), "Weight"]
[1] 135
附加信息 - 结构 (str)
> str(andy)
'data.frame': 30 obs. of 4 variables:
$ Patient.Name: Factor w/ 1 level "Andy": 1 1 1 1 1 1 1 1 1 1 ...
$ Age : int 30 30 30 30 30 30 30 30 30 30 ...
$ Weight : int 140 140 140 139 138 138 138 138 138 138 ...
$ Day : int 1 2 3 4 5 6 7 8 9 10 ...
这里有一点 "cheat sheet" 可能有助于理解子集 data.frames 和 类 各自输出的不同方法。您询问的逗号会导致所选列的矢量化版本。不使用列 returns 该列的 data.frame 版本。您也可以像我在下面所做的那样使用 $
符号。
andy = data.frame(Day = c(1:30), Weight = round(rnorm(30, 138, 1), 0))
andy[which(andy["Day"] == 30), "Weight"]
#[1] 138
andy[which(andy[,"Day"] == 30), "Weight"]
#[1] 138
andy[which(andy$Day == 30), "Weight"]
#[1] 138
andy$Weight[andy$Day == 30]
#[1] 138
andy$Weight[andy["Day"] == 30]
#[1] 138
andy$Weight[andy[,"Day"] == 30]
#[1] 138
subset(andy, andy$Day == 30)$Weight
#[1] 138
subset(andy, andy$Day == 30)["Weight"]
# Weight
#30 138
subset(andy, andy$Day == 30)[,"Weight"]
#[1] 138
class(andy["Day"])
#[1] "data.frame"
andy["Day"]
# Day
# 1 1
# 2 2
# 3 3
...
class(andy[,"Day"])
#[1] "integer"
andy[,"Day"]
#[1] 1 2 3 4 5 6 ...
class(andy$Day)
#[1] "integer"
andy$Day
#[1] 1 2 3 4 5 6 ...
在 Coursera 的 R 课程作业 1 之前执行练习作业。
练习作业显示["Day"],但我发现["Day"]得到相同的结果。他们为什么要在 header "Day" 列前加逗号?
> andy[which(andy[, "Day"] == 30), "Weight"]
[1] 135
> andy[which(andy["Day"] == 30), "Weight"]
[1] 135
附加信息 - 结构 (str)
> str(andy)
'data.frame': 30 obs. of 4 variables:
$ Patient.Name: Factor w/ 1 level "Andy": 1 1 1 1 1 1 1 1 1 1 ...
$ Age : int 30 30 30 30 30 30 30 30 30 30 ...
$ Weight : int 140 140 140 139 138 138 138 138 138 138 ...
$ Day : int 1 2 3 4 5 6 7 8 9 10 ...
这里有一点 "cheat sheet" 可能有助于理解子集 data.frames 和 类 各自输出的不同方法。您询问的逗号会导致所选列的矢量化版本。不使用列 returns 该列的 data.frame 版本。您也可以像我在下面所做的那样使用 $
符号。
andy = data.frame(Day = c(1:30), Weight = round(rnorm(30, 138, 1), 0))
andy[which(andy["Day"] == 30), "Weight"]
#[1] 138
andy[which(andy[,"Day"] == 30), "Weight"]
#[1] 138
andy[which(andy$Day == 30), "Weight"]
#[1] 138
andy$Weight[andy$Day == 30]
#[1] 138
andy$Weight[andy["Day"] == 30]
#[1] 138
andy$Weight[andy[,"Day"] == 30]
#[1] 138
subset(andy, andy$Day == 30)$Weight
#[1] 138
subset(andy, andy$Day == 30)["Weight"]
# Weight
#30 138
subset(andy, andy$Day == 30)[,"Weight"]
#[1] 138
class(andy["Day"])
#[1] "data.frame"
andy["Day"]
# Day
# 1 1
# 2 2
# 3 3
...
class(andy[,"Day"])
#[1] "integer"
andy[,"Day"]
#[1] 1 2 3 4 5 6 ...
class(andy$Day)
#[1] "integer"
andy$Day
#[1] 1 2 3 4 5 6 ...