如何解决重命名列表中的dataframe列
我有一个包含两个数据框的列表(每个都有两个列),我想重命名此列表中的特定列。
const whoIsNext = (names,r) => {
names = names.map(n => [n,1]);
let qi = 0,j = 0;
while (j < r) {
j += names[qi][1]*=2;
qi = (qi+1) % names.length;
}
return names[(names.length+qi-1)%names.length][0];
}
//The last test case in codewars
const result = whoIsNext(["Sheldon","Leonard","Penny","Rajesh","Howard"],7230702951);
console.log(result);
但结果是
sample_df1<-data.frame(coltest11=1:6,coltest12=5:10)
sample_df2<-data.frame(coltest21=5:10,coltest22=1:6)
sample_ls<-list("a"=sample_df1,"b"=sample_df2)
colnames(sample_ls[["a"]][2])<-"test"
names(sample_ls[["a"]][2])
我花了一个多小时来研究其他主题,但无法弄清我的缺失。
解决方法
您当前的问题是您正在访问列表中的第二个条目,然后使用其名称并尝试对其进行更改。相反,如果要重命名a
数据框中的 second 列,则只需访问names
中的第二个条目,然后重命名即可:
names(sample_ls$a)[2] <- "test" # the [2] belongs on the outside,not inside
sample_ls$a
coltest11 test
1 1 5
2 2 6
3 3 7
4 4 8
5 5 9
6 6 10
数据:
sample_df1 <- data.frame(coltest11=1:6,coltest12=5:10)
sample_df2 <- data.frame(coltest21=5:10,coltest22=1:6)
sample_ls <- list(a=sample_df1,b=sample_df2)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。