Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/74.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.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 我可以在数据帧中使用unlist函数吗?_R_List_Function_Dataframe - Fatal编程技术网

R 我可以在数据帧中使用unlist函数吗?

R 我可以在数据帧中使用unlist函数吗?,r,list,function,dataframe,R,List,Function,Dataframe,我正在处理一个列表,其中包含文本中的单词和对它们进行分类的标记。我本应该还原一个旧字母,为此我只需要提取向量中的单词,所以我没有使用sapply,而是这样做了: 单词如@Gregor注释,data.frames是列表。考虑下面的例子: df <- data.frame(Col1 = LETTERS[1:5], Col2 = 1:5, stringsAsFactors = FALSE) is.list(df) #[1] TRUE 但是,在对data.frame进行子集设置时必须小心,因为根

我正在处理一个列表,其中包含文本中的单词和对它们进行分类的标记。我本应该还原一个旧字母,为此我只需要提取向量中的单词,所以我没有使用sapply,而是这样做了: 单词如@Gregor注释,data.frames是列表。考虑下面的例子:

df <- data.frame(Col1 = LETTERS[1:5], Col2 = 1:5, stringsAsFactors = FALSE)
is.list(df)
#[1] TRUE
但是,在对data.frame进行子集设置时必须小心,因为根据使用的方法,可能无法获得列表

df["Col2"]
#  Col2
#1    1
#2    2
#3    3
#4    4
#5    5

is.list(df["Col2"])
#[1] TRUE

df[,"Col2"]
#[1] 1 2 3 4 5

is.list(df[,"Col2"])
#[1] FALSE

is.list(df[["Col2"]])
#[1] FALSE

is.list(df$Col2)
#[1] FALSE

is.list(subset(df,select = Col2))
#[1] TRUE
然而,据我所知,将整行子集总是返回一个列表

df[1,]
#  Col1 Col2
#1    A    1

is.list(df[1,])
#[1] TRUE

is.list(subset(df,1:5 == 1))
#[1] TRUE
我们可以使用dput函数查看单行底层结构的文本表示:

dput(df[1,])
#structure(list(Col1 = "A", Col2 = 1L), row.names = 1L, class = "data.frame")
正如我们所看到的,即使是一行也显然是一个列表。因此,我们可以合理地取消该行的列表,就像取消任何不同时也是data.frame的列表一样


数据帧是列表,只是有更多的需求。在数据框上运行is.list。您可能还对unnameThanks感兴趣-我想这是我今天的全部内容;
dput(df[1,])
#structure(list(Col1 = "A", Col2 = 1L), row.names = 1L, class = "data.frame")
unlist(df[1,], use.names = FALSE)
#[1] "A" "1"

unlist(list(Col1 = "A", Col2 = 1L), use.names = FALSE)
#[1] "A" "1"