Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 是否将所有因子列转换为其类型(字符、数字)?_R_Dataframe_Position_Factors - Fatal编程技术网

R 是否将所有因子列转换为其类型(字符、数字)?

R 是否将所有因子列转换为其类型(字符、数字)?,r,dataframe,position,factors,R,Dataframe,Position,Factors,我有一个数据帧(df)和一些分解列,比如: col1 (numeric factor) col2 (char factor) col3 (ord factor p < r < c) 1 a r 2 b p 3 c c col1(数字因子)col2(字符因子)co

我有一个数据帧(df)和一些分解列,比如:

col1 (numeric factor) col2 (char factor) col3 (ord factor p < r < c)
1                     a                  r 
2                     b                  p
3                     c                  c
col1(数字因子)col2(字符因子)col3(命令因子p
其中
1,2,3是数字因子,a、b、c是字符因子,col3 p、r、c是ord因子列。

请告知我如何将几行中的所有字符转换为数字和字符 要使col1的类型为numeric,col2和col3的类型为char。 请帮助我如何在数据框中定位ord因子变量


谢谢。

我们可以通过在列中循环,转换为
字符
,然后使用
类型。转换

df1[] <- lapply(df1, function(x) type.convert(as.character(x), as.is = TRUE))

df1[]我们可以通过在列中循环,转换为
字符,然后使用
type.convert

df1[] <- lapply(df1, function(x) type.convert(as.character(x), as.is = TRUE))

df1[]通过尝试和错误挖掘一些,我认为这是一个优雅的解决方案:
名称(x[sapply(x,is.ordered)])

专家们怎么看呢?

通过反复试验找出一些解决方案,我认为这是一个优雅的解决方案: 名称(x[sapply(x,is.ordered)])
专家们怎么看?

str(df)
sapply(df,class)
将识别所有列的类型,包括有序因子。有关@akrun答案背后的详细信息,请查看这些问题的答案:
str(df)
sapply(df,class)
将识别所有列的类型,包括有序因素。有关@akrun答案背后的详细信息,请查看以下问题的答案:和