将命名行添加到R中的data.frame

将命名行添加到R中的data.frame,r,dataframe,R,Dataframe,也许这是一个太简单的问题,但我正在尝试向下面的data.framed添加另外两个命名行,但没有成功 你能帮我理解我遗漏了什么,并纠正我的方法吗 d <- data.frame(ESL = 1:5, prof = 0:4, scope = 2:6, type = 3:7) rownames(d) <- LETTERS[1:5] d[6:7,] <- c(com = 0:3, min = 2:5) d # DESIRED OUTPUT: # ESL prof scope ty

也许这是一个太简单的问题,但我正在尝试向下面的data.frame
d
添加另外两个命名行,但没有成功

你能帮我理解我遗漏了什么,并纠正我的方法吗

d <- data.frame(ESL = 1:5, prof = 0:4, scope = 2:6, type = 3:7)
rownames(d) <- LETTERS[1:5]
d[6:7,] <- c(com = 0:3, min = 2:5)
d

# DESIRED OUTPUT:
#   ESL prof scope type
# A   1    0     2    3
# B   2    1     3    4
# C   3    2     4    5
# D   4    3     5    6
# E   5    4     6    7
# com 0    1     2    3
# min 2    3     4    5
d您可以对命名向量使用
rbind()

rbind(d, com = 0:3, min = 2:5) 

    ESL prof scope type
A     1    0     2    3
B     2    1     3    4
C     3    2     4    5
D     4    3     5    6
E     5    4     6    7
com   0    1     2    3
min   2    3     4    5
您可以对命名向量使用
rbind()

rbind(d, com = 0:3, min = 2:5) 

    ESL prof scope type
A     1    0     2    3
B     2    1     3    4
C     3    2     4    5
D     4    3     5    6
E     5    4     6    7
com   0    1     2    3
min   2    3     4    5

使用rbind形成右侧,并在左侧指定行名

d[c("com", "min"),] <- rbind(0:3, 2:5)

d[c(“com”、“min”),]使用rbind构成右侧,并在左侧指定行名

d[c("com", "min"),] <- rbind(0:3, 2:5)

d[c(“com”,“min”),]更一般地说,您可能应该将
list
s绑定到
d
的底部,例如:
rbind(d,com=list(0,1,2,3),min=list(2,3,4,5))
。这将允许您在必要时添加一行,同时匹配不同的列类型。@rnorouzian-
list(rep(TRUE,4))
list(TRUE,TRUE,TRUE,TRUE)
不一样。您需要后者,或者短代码中的
as.list(rep(TRUE,4))
。添加
TRUE
s还将看到它们转换为数字以匹配现有数据。@rnorouzian-不是真的,您试图执行类似
c(TRUE,1)
的操作,但这不起作用。您可以将所有内容转换为字符,但这会改变您的数据类型。@rnorouzian-每列中的
list
可以用于混合类型,但这很难看,也不容易处理。不过有可能
d[]更一般地说,你应该把
list
s绑定到
d
的底部,比如:
rbind(d,com=list(0,1,2,3),min=list(2,3,4,5))
。这将允许您在必要时添加一行,同时匹配不同的列类型。@rnorouzian-
list(rep(TRUE,4))
list(TRUE,TRUE,TRUE,TRUE)
不一样。您需要后者,或者短代码中的
as.list(rep(TRUE,4))
。添加
TRUE
s还将看到它们转换为数字以匹配现有数据。@rnorouzian-不是真的,您试图执行类似
c(TRUE,1)
的操作,但这不起作用。您可以将所有内容转换为字符,但这会改变您的数据类型。@rnorouzian-每列中的
list
可以用于混合类型,但这很难看,也不容易处理。不过有可能<代码>d[]