R 为什么“添加”列会为数据指定一个字母?
我试着通读R关于add_column函数的文档,但是对于它提供的示例,我有点困惑。见下文: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
# 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)