R 这些名称是如何转换为';。价值';pivot_中每行多个观测值的约定工作是否更长?
最近的一个SO答案被无耻地复制,使用dplyr::pivot_将6个变量处理为3个 我可以理解所有pivot_参数的逻辑,除了R 这些名称是如何转换为';。价值';pivot_中每行多个观测值的约定工作是否更长?,r,tidyr,R,Tidyr,最近的一个SO答案被无耻地复制,使用dplyr::pivot_将6个变量处理为3个 我可以理解所有pivot_参数的逻辑,除了名称到'.values'输入之外 我可以计算出它的作用:它根据names\u模式参数中第一个括号内的正则表达式创建新变量名 我的问题是“.values”是如何工作的 我可以看到它在pivot_较长的函数示例部分中用于“每行多个观察”;但示例中没有给出任何解释 感觉好像它可以是一个正则表达式选项意味着匹配除\n之外的任何字符;或者它是一种“代词”类型的输出,在“tidyve
名称到'.values'
输入之外
我可以计算出它的作用:它根据names\u模式
参数中第一个括号内的正则表达式创建新变量名
我的问题是“.values”是如何工作的
我可以看到它在pivot_较长的函数示例部分中用于“每行多个观察”;但示例中没有给出任何解释
感觉好像它可以是一个正则表达式选项
意味着匹配除\n之外的任何字符;或者它是一种“代词”类型的输出,在“tidyverse”中似乎很常见,意思类似于“regex表达式的输出或值”
任何关于如何理解pivot_的复杂性的信息的指南或指针都将不胜感激
或者这只是一个对函数进行实验并理解它的功能的例子
链接至原始问题:[
库(TIBLE)
图书馆(tidyr)
来自,.value
的tib将值设置为values\u to
为NULL
,这样它就不会使用值中的名称,而是使用单元格本身的名称
如果你看这一行:
if (".value" %in% names_to) {
values_to <- NULL
}
if(“.value”%in%names\u to){
它的值在doctsring for中声明。value`表示名称的组件定义包含单元格值的列的名称,将值覆盖到(根据我的经验,您可以导航,这是一个递归过程)
if (".value" %in% names_to) {
values_to <- NULL
}
out <- tibble(.name = cols)
out[[".value"]] <- values_to
out <- vec_cbind(out, names)
out
}