将命名行添加到R中的data.frame
也许这是一个太简单的问题,但我正在尝试向下面的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
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[]