R 如果只选择一个数据帧';谁的专栏?
我试图在数据帧上选择一列,但需要保留其列名。将其想象为一列数据帧。例如,这就是我需要完成的:R 如果只选择一个数据帧';谁的专栏?,r,function,R,Function,我试图在数据帧上选择一列,但需要保留其列名。将其想象为一列数据帧。例如,这就是我需要完成的: df <- data.frame(col_a = c(1,2,3), col_b = c(5,2,8)) x <- df$col_a colnames(x) col_a # THIS VALUE IS WHAT I NEED df数据帧最初是一个列表,因此可以使用$进行子集。但是,要在创建新列(列表)时保留数据帧特征,需要使用drop=F x<- df[,"col_a",drop=F
df <- data.frame(col_a = c(1,2,3), col_b = c(5,2,8))
x <- df$col_a
colnames(x)
col_a # THIS VALUE IS WHAT I NEED
df数据帧最初是一个列表,因此可以使用$
进行子集。但是,要在创建新列(列表)时保留数据帧特征,需要使用drop=F
x<- df[,"col_a",drop=F]
colnames(x)
[1] "col_a"
x数据帧最初是一个列表,因此可以使用$
进行子集。但是,要在创建新列(列表)时保留数据帧特征,需要使用drop=F
x<- df[,"col_a",drop=F]
colnames(x)
[1] "col_a"
xdata.frame是一个列表,列是它的元素。如果提取列并希望保留其名称,则不能使用$
,如果必须同时获取列名称和列值,请使用[
df
# col_a col_b
# 1 1 5
# 2 2 2
# 3 3 8
如果通过提供列名($
)进行提取,则只会出现值;如果通过列位置([
)进行提取,则会在该列中提供列名+值。此[
可以通过数字或名称保留元素位置,但保留名称
$
df$col_a
# [1] 1 2 3
df[1]
# col_a
# 1 1
# 2 2
# 3 3
[
df$col_a
# [1] 1 2 3
df[1]
# col_a
# 1 1
# 2 2
# 3 3
列表的行为(如上所述data.frame是一个列表)
提取位置1
元素位置-给出元素名称+元素中的值
my_list[1]
# $a
# [1] 1 2 3 4 5 6 7 8 9 10
更多帮助,请在R控制台中键入
?`[`
data.frame是一个列表,列是它的元素。如果您提取一个列并想保留它的名称,您不能使用$
,如果您必须同时获取列名称和列值,请使用[
df
# col_a col_b
# 1 1 5
# 2 2 2
# 3 3 8
如果通过提供列名($
)进行提取,则只会出现值;如果通过列位置([
)进行提取,则会在该列中提供列名+值。此[
可以通过数字或名称保留元素位置,但保留名称
$
df$col_a
# [1] 1 2 3
df[1]
# col_a
# 1 1
# 2 2
# 3 3
[
df$col_a
# [1] 1 2 3
df[1]
# col_a
# 1 1
# 2 2
# 3 3
列表的行为(如上所述data.frame是一个列表)
提取位置1
元素位置-给出元素名称+元素中的值
my_list[1]
# $a
# [1] 1 2 3 4 5 6 7 8 9 10
更多帮助,请在R控制台中键入
?`[`
是的,我知道@a-suliman,但我的想法是不要写所有的“代码”来简单地将向量输入函数。知道我的意思吗?谢谢你的超级快速回复,我知道@a-suliman,但我的想法是不要写所有的“代码”只需将向量放入函数中。知道我的意思吗?感谢超级快速回复,以获取更多关于简化与保留的信息。df[“col_a”]
(无逗号)同样有效。我认为您忽略了问题的重要部分,即您希望在何处使用此值的函数以及您要传递给它的确切内容。函数可以获取传递给它的变量的名称:但变量无法跟踪其自身的名称(如果有意义的话)。有关简化与保留的更多信息,请参阅。df[“col_a”]
(无逗号)同样有效。我认为您忽略了问题的重要部分,即您希望在何处使用此值的函数以及向其传递的确切内容。函数可以获取传递给它的变量的名称:但变量无法跟踪其自身的名称(如果有意义的话)。