社区。我有以下问题。
假设我有以下列表。 如何在不将两个变量都转换为字符类型的情况下将其转换为data.frame或data.table? 我需要保留原始变量类型(字符串和数字)。
my_list<-list()
my_list[[1]]<-c("A","B","C")
my_list[[2]]<-c(1,2,3)
do.call(cbind,my_list)
[,1] [,2]
[1,] "A" "1"
[2,] "B" "2"
[3,] "C" "3"
非常感谢您!
因此,最后的输出应该是:
[,1] [,2]
[1,] "A" 1
[2,] "B" 2
[3,] "C" 3
答案 0 :(得分:0)
您可以使用bind_cols
中的dplyr
:
library(dplyr)
str(bind_cols(my_list))
#Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 3 obs. of 2 variables:
# $ V1: chr "A" "B" "C"
# $ V2: num 1 2 3
或直接创建一个数据框:
df <- data.frame(
str = c("A", "B", "C"),
int = c(1, 2, 3)
)
str(df)
#'data.frame': 3 obs. of 2 variables:
# $ str: Factor w/ 3 levels "A","B","C": 1 2 3
# $ int: num 1 2 3