我知道这[]本身就是一个函数,但是是否有一个函数可以执行以下操作?
vect = c(1, 5, 4)
# Slicing by row index with []
vect[2]
# [1] 5
# Does this kind of function exist ?
slicing_func(vect, 2)
# [1] 5
# And for dataframes ?
Run Code Online (Sandbox Code Playgroud)
理解“[]其实是一个函数”的深层含义\xe2\x80\x94
vect[2]\n# [1] 5\nRun Code Online (Sandbox Code Playgroud)\n相当于:
\n`[`(vect, 2)\n# [1] 5\nRun Code Online (Sandbox Code Playgroud)\n看来您已经使用过您正在寻找的功能。
\n请注意,它也适用于数据框/矩阵。
\ndat\n# X1 X2 X3 X4\n# 1 1 4 7 10\n# 2 2 5 8 11\n# 3 3 6 9 12\n\n`[`(dat, 2, 3)\n# [1] 8\n\n`[`(dat, 2, 3, drop=F) ## to get a data frame back\n# X3\n# 2 3\nRun Code Online (Sandbox Code Playgroud)\n数据:
\nvect <- c(1, 5, 4)\ndat <- data.frame(matrix(1:12, 3, 4))\nRun Code Online (Sandbox Code Playgroud)\n
您可以使用getElement函数
vect = c(1, 5, 4)
getElement(vect, 2)
#> 5
Run Code Online (Sandbox Code Playgroud)
或者你可以使用
vctrs::vec_slice(vect , 2)
#> 5
Run Code Online (Sandbox Code Playgroud)
它也适用于切片和数据帧。
| 归档时间: |
|
| 查看次数: |
167 次 |
| 最近记录: |