R语言 如何在R中从数据框架的列表中提取某些列

R语言 如何在R中从数据框架的列表中提取某些列

一个嵌套的列表可以包含其他的列表,或者各种对象、数组、向量或数据帧作为其组成部分。在R编程语言中,每个组件都被映射到一个独特的索引位置。任何元素都可以使用 [ [ ]] 操作符方便地进行索引,它用于引用列表的特定索引。随后, list_name[[index]] ,将获得存储在索引位置的组件。在这种情况下,该方法返回索引位置的数据帧。

然后可以使用df$col-name或者df[[col-index]]来获取提取的数据框架的特定列。捕获,该方法以向量的形式获取所述的列。提到的列应该在范围内,否则会出现错误。默认情况下,索引从1开始。

语法

df [[ col-index]]或 df$col-name

例1 :

# declaring a dataframe
data_frame1 = data.frame(col1 = letters[1:4],
                         col2 = c(5:8) , col3 = TRUE)
print ("DataFrame1")
print (data_frame1)
 
# declaring a dataframe
data_frame2 = data.frame(col1 = c(6:9),
                         col2 = LETTERS[1:4])
print ("DataFrame2")
print (data_frame2)
 
combined_df <- list(data_frame1,data_frame2)
print ("Dataframe2 Column1")
col21 <- combined_df[[2]][[1]]
print (col21)
Bash

输出

[1] "DataFrame1"
 col1 col2 col3
1    a    5 TRUE
2    b    6 TRUE
3    c    7 TRUE
4    d    8 TRUE
[1] "DataFrame2"
 col1 col2
1    6    A
2    7    B
3    8    C
4    9    D
[1] "Dataframe2 Column1"
[1] 6 7 8 9
Bash

list()方法可以包含两个以上的组件,可以堆叠在一起。数据框架的列可以是单个元素或原子元素的向量。

例2 :

# declaring a dataframe
data_frame1 = data.frame(col1 = letters[1:4],
                         col2 = c(5:8) , col3 = TRUE)
print ("DataFrame1")
print (data_frame1)
 
# declaring a dataframe
data_frame2 = data.frame(col1 = c(6:9),
                         col2 = LETTERS[1:4])
print ("DataFrame2")
print (data_frame2)
 
# declaring a dataframe
data_frame3 = data.frame(C1 = FALSE, C2 = 1)
print ("DataFrame3")
print (data_frame3)
 
combined_df <- list(data_frame1,data_frame2,data_frame3)
print ("Dataframe3 Column2")
col32 <- combined_df[[3]][[2]]
print (col32)
Bash

输出

[1] "DataFrame1"
 col1 col2 col3
1    a    5 TRUE
2    b    6 TRUE
3    c    7 TRUE
4    d    8 TRUE
[1] "DataFrame2"
 col1 col2
1    6    A
2    7    B
3    8    C
4    9    D
[1] "DataFrame3"
    C1 C2
1 FALSE  1
[1] "Dataframe3 Column2"
[1] 1
Bash

列名也可以用$运算符来引用,它在R中被用作索引运算符。

例3 :

# declaring a dataframe
data_frame1 = data.frame(col1 = letters[1:4],
                         col2 = c(5:8) , col3 = TRUE)
print ("DataFrame1")
print (data_frame1)
 
# declaring a dataframe
data_frame2 = data.frame(col1 = c(6:9),
                         col2 = LETTERS[1:4])
print ("DataFrame2")
print (data_frame2)
 
# declaring a dataframe
data_frame3 = data.frame(C1 = FALSE, C2 = 1)
print ("DataFrame3")
print (data_frame3)
 
combined_df <- list(data_frame1,data_frame2,data_frame3)
print ("Dataframe1 Column1")
col11 <- combined_df[[1]]$col1
print (col11)
Bash

输出

[1] "DataFrame1"
 col1 col2 col3
1    a    5 TRUE
2    b    6 TRUE
3    c    7 TRUE
4    d    8 TRUE
[1] "DataFrame2"
 col1 col2
1    6    A
2    7    B
3    8    C
4    9    D
[1] "DataFrame3"
    C1 C2
1 FALSE  1
[1] "Dataframe1 Column1"
[1] a b c d
Levels: a b c d
Bash

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册