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