gpt4 book ai didi

r - 将数据框转换为 R 中具有适当标签的列表

转载 作者:行者123 更新时间:2023-12-04 08:12:51 26 4
gpt4 key购买 nike

sample data
我有一个如上所述的数据表。我读入R后,显示如下:

    A1          V2  B1          V4  C1          V6  D1          V8  
1: 0.0 0.00000000 0.0 0.00000000 0.0 0.00000000 0.0 0.00000000
2: 0.2 -0.00380627 0.2 -0.00819362 0.2 0.00111832 0.2 0.00121747
3: 0.4 -0.00331354 0.4 -0.00525695 0.4 0.00064048 0.4 -0.00192659
4: 0.6 -0.00868297 0.6 -0.01096702 0.6 -0.00173567 0.6 -0.00113128
5: 0.8 -0.01042633 0.8 -0.01036590 0.8 -0.00542573 0.8 -0.00477296
前两列属于类别 A1,后两列属于类别 B1。我想将列转换为 A1.1、A1.2、B1.1、B1.2,...有什么建议吗?非常感谢。

最佳答案

您可以使用备用列名称并为它们添加 1:2 作为后缀。

cols <- names(df)[c(TRUE, FALSE)]
cols
#[1] "A1" "B1" "C1" "D1"

names(df) <- c(t(outer(cols, 1:2, paste, sep = '.')))
df

# A1.1 A1.2 B1.1 B1.2 C1.1 C1.2 D1.1 D1.2
#1: 0.0 0.000000 0.0 0.000000 0.0 0.0000000 0.0 0.000000
#2: 0.2 -0.003806 0.2 -0.008194 0.2 0.0011183 0.2 0.001217
#3: 0.4 -0.003314 0.4 -0.005257 0.4 0.0006405 0.4 -0.001927
#4: 0.6 -0.008683 0.6 -0.010967 0.6 -0.0017357 0.6 -0.001131
#5: 0.8 -0.010426 0.8 -0.010366 0.8 -0.0054257 0.8 -0.004773
数据
df <- structure(list(A1 = c(0, 0.2, 0.4, 0.6, 0.8), V2 = c(0, -0.00380627, 
-0.00331354, -0.00868297, -0.01042633), B1 = c(0, 0.2, 0.4, 0.6,
0.8), V4 = c(0, -0.00819362, -0.00525695, -0.01096702, -0.0103659
), C1 = c(0, 0.2, 0.4, 0.6, 0.8), V6 = c(0, 0.00111832, 0.00064048,
-0.00173567, -0.00542573), D1 = c(0, 0.2, 0.4, 0.6, 0.8), V8 = c(0,
0.00121747, -0.00192659, -0.00113128, -0.00477296)),
class = "data.frame", row.names = c("1:", "2:", "3:", "4:", "5:"))

关于r - 将数据框转换为 R 中具有适当标签的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65866461/

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