R 创建一个包含两个列的数据帧,每个列保留每个组合向量的类字符

R 创建一个包含两个列的数据帧,每个列保留每个组合向量的类字符,r,R,我有两个向量,一个是字符向量,另一个是数字向量。我试图在一个数据框中组装这两个方法,同时保留它们的类属性,但是下面的方法似乎没有一个像wither那样工作,它们都出现在引号中或相反的地方。如何创建保留向量元素属性的数据帧 x <- c(1,2,3,4,5,6,7,8) y <- c("a","b","c","d","e","f","g","h") cbind(x,y) as.data.frame(x,y) as.data.frame(cbind(x,y)) EDIT - Desi

我有两个向量,一个是字符向量,另一个是数字向量。我试图在一个数据框中组装这两个方法,同时保留它们的类属性,但是下面的方法似乎没有一个像wither那样工作,它们都出现在引号中或相反的地方。如何创建保留向量元素属性的数据帧

x <- c(1,2,3,4,5,6,7,8)
y <- c("a","b","c","d","e","f","g","h")

cbind(x,y)
as.data.frame(x,y)
as.data.frame(cbind(x,y))

EDIT - Desired Output

      x   y   
      1  "a"          
      2  "b"          
      3  "c"          
      4  "d"
      5  "e"          
      6  "f"         
      7  "g"          
      8  "h" 

Following several comments on it, please see that still does not appear.

sapply(data.frame(x,y, stringsAsFactors=FALSE), class)
           x           y 
       "numeric"   "character"

data.frame(x,y, stringsAsFactors=FALSE)
  x y
1 1 a
2 2 b
3 3 c
4 4 d
5 5 e
6 6 f
7 7 g
8 8 h

x
[1] 1 2 3 4 5 6 7 8
y
[2] "a" "b" "c" "d" "e" "f" "g" "h"

x您的角色向量将自动转换为因子向量。
data.frame
将允许不将字符串转换为因子的函数输入:

df<-data.frame(x,y,stringsAsFactors=FALSE)
df-sapply(df,类)
xy
数字“”字符

您可以使用
df1。不要将
用作.data.frame
,请使用
data.frame
。从阅读帮助文件(即-阅读帮助文件)可以清楚地看到这一点,但是y上的引号不会出现在数据框的列元素上,请参见EDIT看起来像是格式问题。您可以对data.frame中的向量列执行几乎相同的操作。所以,我不确定为什么这是一个问题。如果您提取
向量
,即
df1$y#[1]“a”“b”“c”“d”“e”“f”“g”“h”
,如果您可以提供有关最终结果的更多信息,这可能会更容易,而且会有其他方法来解决,而不是使用无法工作的格式。我尝试过你的解决方案,但不起作用。如果结果不起作用,你怎么能获得正面投票。是否有任何关于为什么不起作用的澄清?是的,字符colum没有保留,正如编辑问题时所示你不想要行号吗?这很好,因为这是一个比粘贴更简单的解决方案,保存列的类当然会在作为索引传递给另一个函数时引起一些问题,但这是另一个问题。
x <- c(1,2,3,4,5,6,7,8)
> y <- c("a","b","c","d","e","f","g","h")
> df<-data.frame(x,paste0("\"",y,"\""),stringsAsFactors = FALSE)
> names(df)<-c("x","y")
> print(df, row.names = FALSE)
 x   y
 1 "a"
 2 "b"
 3 "c"
 4 "d"
 5 "e"
 6 "f"
 7 "g"
 8 "h"
> sapply(df, class)
          x           y 
  "numeric" "character"