为什么我不能重命名列表中的数据框列?

Mor*_*cia 0 r list names dataframe

我想在合并数据帧之前将CPU_Usage中的一些列重命名为进程名称,以使其更清晰.

names(byProcess[[1]])
# [1] "Time"      "CPU_Usage"
names(byProcess[1])
# [1] "CcmExec_3344"
names(byProcess[[1]][2]) <- names(byProcess[1])
names(byProcess[[1]][2])
# [1] "CPU_Usage"
names(byProcess[[1]][2]) <- 'test'
names(byProcess[[1]][2])
# [1] "CPU_Usage"
lapply(byProcess, names)
# $CcmExec_3344
# [1] "Time"      "CPU_Usage"
#
# ... (removed several entries to make it more readable)
#
# $wrapper_1604
# [1] "Time"      "CPU_Usage"
Run Code Online (Sandbox Code Playgroud)

mne*_*nel 5

names(l[[1]][2])返回对象的名称l[[1]][2].在你的情况下,这将是data.frame一个列(CPU_Usage)使用names<-将替换这个新对象上的名称(而不是替换l[[1]])

如果你想使用names<-on l[[1]],你需要将它作为参数names<-

所以

names(byProcess[[1])[2] <- names(byProcess[1])
Run Code Online (Sandbox Code Playgroud)

执行你想要的动作