我有一个数据帧df。我把列标题放在另一个数据帧中,因为我想在它上面运行一个循环。 这是标题数据框的输出
df.header
# [1] ISBAD MA_KH MA_CN Ngay.xep.hang So.ho.so SEQ Primary_Key Nganh Mo.hinh.xep.hang
# [10] Loai.hinh.DN NAM_TAI_CHINH Liq1 Liq4 Liq5 Per1 Per2 Per3 Per4
# [19] Per5 Lev1 Lev2 Lev3 Lev4 Lev5 Prof1 Prof2 Prof3
# [28] Prof4 Prof5 Gro14 Gro15 Gro16 Gro17 Gro18 Gro19 Gro20
# [37] Struc1 Cov1 Liq6 Prof6 Struc2 Lev6 Lev7 Lev8 Struc3
# [46] Struc4 Struc5 Prof8 Struc6 Liq7 Lev9 Cov.24 Cov2 Liq9
# [55] Cov4 Prof9 Struc7 Cov6 Prof10 Prof13 Prof16 Prof18 Prof19
# [64] Prof22 Per6 Per7 Per8 Prof23 Cov7 Prof24 Lev10 Struc8
# [73] Struc9 Lev11 Struc10 Liq10 cov3 Cov9 Cov10 Liq11 Cov11
# [82] Prof29 Prof30 Per9 Per10 Liq12 Cov12 Cov13 Liq13 Cov15
# [91] Per11 Per12 Per13 Per14 Cov16 Cov17 Cov18 Gro21 Gro22
#[100] Cov19 Cov20 Liq14 Liq15 Liq16 Liq17 Liq18 Struc11 Struc15
#[109] Liq19 Prof34 Prof35 Prof38 Prof40 Prof41 Prof42 Prof43 Struc12
#[118] Struc13 Struc14 Cov21 Cov22 Prof44 Gro23 Liq20 Cov23 Liq21
#[127] Liq22 Lev12 Prof31
现在我在循环中输入以下代码
liststring <- toString(df.header[2])
我得到了输出
liststring
# [1] "integer(0)"
而不是MA_KH
我也试过了toString(df.header[2],)
并获得了相同的结果。
不知道我在哪里出错了
答案 0 :(得分:1)
使用命令df.header&lt; -head(df,0),您不会获得colum标头的数据框,而是原始数据框的空副本。 获取数据帧使用的名称:names(df)。
也许你可以发布这个新数据帧的目的。迭代数据帧的变量可以使用lapply完成,而无需创建新的数据帧。