Select 在 R 中分离对象并将它们绑定到一个数据帧
Select seperate objects in R and bind them to one dataframe
我想知道如何 select R 中的多个对象并将它们保存到数据帧中。
所以假设 ls()
给了我以下对象:
ls()
[1] "[.avector" "a-32" "a-33"
[4] "a_32" "a_33" "a_34"
[7] "a_35" "a_36" "a_37"
[10] "a_38" "a_39" "a_40"
[13] "a_41" "a_42" "a_43"
如何将 ls[2:15] 连接到一个数据帧?
提前致谢!
编辑:
根据您的建议,我使用了以下代码:
list<- mget(ls()[2:15])
df<- do.call(rbind, list)
询问 class R 告诉我 df 是一个矩阵。
所以,我将 df 转换为一个数据帧,产生了这个:
df<- data.frame(df)
df
data.frame(df)
X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21
a-32 NA 2 NA NA NA NA NA 4 NA NA 1 1 NA 6 2 NA NA NA 6 NA NA
a-33 NA 2 NA NA NA NA NA 4 NA NA 1 3 NA 6 4 NA NA NA 6 NA NA
a_32 NA 2 NA NA NA NA NA 4 NA NA 1 1 NA 6 2 NA NA NA 6 NA NA
a_33 NA 2 NA NA NA NA NA 4 NA NA 1 3 NA 6 4 NA NA NA 6 NA NA
a_34 NA 1 NA NA NA NA NA 1 NA NA 1 1 NA 4 1 NA NA NA 1 NA NA
a_35 NA 1 NA NA NA NA NA 4 NA NA 1 1 NA 6 2 NA NA NA 6 NA NA
a_36 NA 2 NA NA NA NA NA 4 NA NA 1 2 NA 6 4 NA NA NA 6 NA NA
a_37 NA 4 NA NA NA NA NA 3 NA NA 4 2 NA 6 3 NA NA NA 4 NA NA
a_38 NA 4 NA NA NA NA NA 5 NA NA 4 3 NA 6 3 NA NA NA 4 NA N
.....
因此,如果我没看错的话,R 会将我的对象按行排列。我可以将它们绑定到列吗?
编辑 2:
我使用了 cbind() 并且成功了。非常感谢,非常感谢您的帮助!
你可以试试:
List <- mget(ls()[2:15])
df <- do.call(rbind,List)
您的对象名称具有相同的模式,因此在 ls()
中设置 pattern
参数以匹配对象更为通用。此外,您可以使用cbind.data.frame()
按列绑定多个向量。
cbind.data.frame(mget(ls(pattern = "^a")))
我想知道如何 select R 中的多个对象并将它们保存到数据帧中。
所以假设 ls()
给了我以下对象:
ls()
[1] "[.avector" "a-32" "a-33"
[4] "a_32" "a_33" "a_34"
[7] "a_35" "a_36" "a_37"
[10] "a_38" "a_39" "a_40"
[13] "a_41" "a_42" "a_43"
如何将 ls[2:15] 连接到一个数据帧?
提前致谢!
编辑:
根据您的建议,我使用了以下代码:
list<- mget(ls()[2:15])
df<- do.call(rbind, list)
询问 class R 告诉我 df 是一个矩阵。
所以,我将 df 转换为一个数据帧,产生了这个:
df<- data.frame(df)
df
data.frame(df)
X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21
a-32 NA 2 NA NA NA NA NA 4 NA NA 1 1 NA 6 2 NA NA NA 6 NA NA
a-33 NA 2 NA NA NA NA NA 4 NA NA 1 3 NA 6 4 NA NA NA 6 NA NA
a_32 NA 2 NA NA NA NA NA 4 NA NA 1 1 NA 6 2 NA NA NA 6 NA NA
a_33 NA 2 NA NA NA NA NA 4 NA NA 1 3 NA 6 4 NA NA NA 6 NA NA
a_34 NA 1 NA NA NA NA NA 1 NA NA 1 1 NA 4 1 NA NA NA 1 NA NA
a_35 NA 1 NA NA NA NA NA 4 NA NA 1 1 NA 6 2 NA NA NA 6 NA NA
a_36 NA 2 NA NA NA NA NA 4 NA NA 1 2 NA 6 4 NA NA NA 6 NA NA
a_37 NA 4 NA NA NA NA NA 3 NA NA 4 2 NA 6 3 NA NA NA 4 NA NA
a_38 NA 4 NA NA NA NA NA 5 NA NA 4 3 NA 6 3 NA NA NA 4 NA N
.....
因此,如果我没看错的话,R 会将我的对象按行排列。我可以将它们绑定到列吗?
编辑 2:
我使用了 cbind() 并且成功了。非常感谢,非常感谢您的帮助!
你可以试试:
List <- mget(ls()[2:15])
df <- do.call(rbind,List)
您的对象名称具有相同的模式,因此在 ls()
中设置 pattern
参数以匹配对象更为通用。此外,您可以使用cbind.data.frame()
按列绑定多个向量。
cbind.data.frame(mget(ls(pattern = "^a")))