我有一个从循环创建的CSV外部目录中读取的数据框列表:
dataList = list()
for (i in 0:length-1) {
dataList[[i + 1]] <-
read.csv(list.files()[length(list.files()) - i], stringsAsFactors = FALSE) %>%
select(
'Username' = USERNAME,
'Current.count' = LOGIN.COUNT,
)
}
目录中存储的文件数量会随着时间的推移而变化,因此需要循环。当前计数也会在目录中的每个CSV中发生变化。稍后我使用left_join将每个数据框连接到一个用户名,但保留每个唯一的用户登录计数。为此,每个数据框必须具有登录计数的唯一列名。我试过了
for (i in 2:length) {
select(Username, paste0("Count from month",toString(i))=Current.Logins)
}
但是我收到以下错误
Error: unexpected '='
尝试使用rename()
答案 0 :(得分:1)
这可以通过setNames
轻松完成(正如评论中提到的@Gregor)。我们可以将select
循环中的for
语句更改为
for (i in 2:length) {
select(Username, setNames(Current.logins, paste0("Count from month",toString(i)))
}