gpt4 book ai didi

R:使用数据框列名称作为向量名称

转载 作者:行者123 更新时间:2023-12-02 01:53:41 26 4
gpt4 key购买 nike

我是一个相当新的 R 用户(MATLAB 转换),我正在尝试使用我为数据集提供的列名来命名我的数据集中的变量。

假设我有一个名为 Z 的数据框,其中包含我命名如下的三列。

Header <- c("Date", "Time", "Data")
colnames(Z) <- Header

有没有一种简单的方法可以将这些列名称转换为矢量名称,以便当我在命令行中键入“数据”时,第 3 列中的值会出现(这样我就可以在脚本中轻松调用这些名称)?

提前致谢!

最佳答案

这是一个使用您的数据附加和分离函数的示例。我相信这对于交互式使用来说是可以的,但这不是编程的最佳实践。可能根本不推荐使用它,我相信我从未使用过它!

Z <- data.frame(matrix(rpois(9, 80), ncol = 3, nrow = 9))
head(Z)
> head(Z)
X1 X2 X3
1 69 69 69
2 80 80 80
3 69 69 69
4 103 103 103
5 65 65 65
6 81 81 81

# Use different names for each column!

Header <- c("Date_1", "Time", "Data_2")
colnames(Z) <- Header

head(Z)
Date_1 Time Data_2
1 69 69 69
2 80 80 80
3 69 69 69
4 103 103 103
5 65 65 65
6 81 81 81


attach(Z)

Date_1
[1] 69 80 69 103 65 81 84 70 93

Time
[1] 69 80 69 103 65 81 84 70 93

detach(Z)

# Do not forget to detach!
Time
Error: objeto 'Time' no encontrado

也许另一个选择是使用 with:

with(Z, Time)
# [1] 91 81 81 87 82 72 81 74 85

with(Z, quantile(Time))
# 0% 25% 50% 75% 100%
# 72 81 81 85 91

或者只是子集化每个变量。

# Subsetting keeping attributes
Z[2]
Z["Time"]

attributes(Z["Time"])
# $names
# [1] "Time"

# $class
# [1] "data.frame"

# $row.names
# [1] 1 2 3 4 5 6 7 8 9

# Subsetting droping attributes
Z$Time
Z[["Time"]]

attributes(Z[["Time"]])
# NULL

关于R:使用数据框列名称作为向量名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21440905/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com