Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.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 为什么“添加”列会为数据指定一个字母?_R_Dataframe_Tibble_Name Value - Fatal编程技术网

R 为什么“添加”列会为数据指定一个字母?

R 为什么“添加”列会为数据指定一个字母?,r,dataframe,tibble,name-value,R,Dataframe,Tibble,Name Value,我试着通读R关于add_column函数的文档,但是对于它提供的示例,我有点困惑。见下文: # add_column --------------------------------- df <- tibble(x = 1:3, y = 3:1) df %>% add_column(z = -1:1, w = 0) df %>% add_column(z = -1:1, .before = "y") # You can't overwrite exist

我试着通读R关于add_column函数的文档,但是对于它提供的示例,我有点困惑。见下文:

# add_column ---------------------------------
df <- tibble(x = 1:3, y = 3:1)

df %>% add_column(z = -1:1, w = 0)
df %>% add_column(z = -1:1, .before = "y")

# You can't overwrite existing columns
try(df %>% add_column(x = 4:6))

# You can't create new observations
try(df %>% add_column(z = 1:5))
我从文档中了解到,add_column()接受一个数据帧,并根据默认为数据帧末尾的.before和.after参数将其追加到相应位置


我有点困惑。还有一个“…”参数,它接受名称-值对。这就是我看到的“z=1:5”吗?此功能的用途是什么?

data.frame
列的名称总是用R表示,没有例外

由于
add_column
添加了新列,因此需要为这些列指定名称

…好吧,从技术上来说你不需要。以下工作:

df %>% add_column(1 : 3)
但是
add_column
会根据传递的表达式自动生成列名,您可能不喜欢结果(在本例中,它的字面意思是
1:3
,这不是一个方便使用的名称)

相反,以下方法也有效且完全合理:

z = 1 : 3
df %>% add_column(z)
结果:

#一个tible:3 x 3
x y z
1     1     3     1
2     2     2     2
3     3     1     3

add_column
将一列或多列追加到现有的data.frame。这就是
的意思,即您可以添加一个或两个或。。。柱。使用
.before
.before
可以指定插入新列的位置。最后,将新列指定为名称-值对,即使用
z=-1:1
指定要使用名称
z
和值
-1:1
创建新列。这些范围只是
c(-1,0,1)
的简称。
z = 1 : 3
df %>% add_column(z)