Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 这些名称是如何转换为';。价值';pivot_中每行多个观测值的约定工作是否更长?_R_Tidyr - Fatal编程技术网

R 这些名称是如何转换为';。价值';pivot_中每行多个观测值的约定工作是否更长?

R 这些名称是如何转换为';。价值';pivot_中每行多个观测值的约定工作是否更长?,r,tidyr,R,Tidyr,最近的一个SO答案被无耻地复制,使用dplyr::pivot_将6个变量处理为3个 我可以理解所有pivot_参数的逻辑,除了名称到'.values'输入之外 我可以计算出它的作用:它根据names\u模式参数中第一个括号内的正则表达式创建新变量名 我的问题是“.values”是如何工作的 我可以看到它在pivot_较长的函数示例部分中用于“每行多个观察”;但示例中没有给出任何解释 感觉好像它可以是一个正则表达式选项意味着匹配除\n之外的任何字符;或者它是一种“代词”类型的输出,在“tidyve

最近的一个SO答案被无耻地复制,使用dplyr::pivot_将6个变量处理为3个

我可以理解所有pivot_参数的逻辑,除了
名称到
'.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
}