R语言错误:Error in `$<-.data.frame`(`*tmp*`, 调查日期, value = numeric(0)) : 替换数据里有0行,但数据有3170行
如果你遇到了错误“Error in $<-.data.frame(*tmp*, 调查日期, value = numeric(0)) : 替换数据里有0行,但数据有3170行”,可能是因为在重命名列名时出现了问题。当列名不存在或没有匹配的列名时,rename()函数会返回一个空的数据框,并且在进行合并操作时会导致行数不匹配的错误。
确保在重命名列名时,列名的拼写和大小写与实际的列名完全匹配。另外,还要确保列名存在于数据框中。
以下是修改后的示例代码,检查列名是否正确并确保与实际的列名完全匹配:
library(dplyr)
library(tidyr)
# 读取五个表格
F0 <- read.csv('F0.csv')
F1 <- read.csv('F1.csv')
F2 <- read.csv('F2.csv')
F3 <- read.csv('F3.csv')
F4 <- read.csv('F4.csv')
# 检查F2表格中的列名
print(colnames(F2))
# 将F2表格的列名从'调查时间'改为'调查日期'
F2 <- rename(F2, '调查日期' = '调查时间')
# 合并五个表格为长型数据
long_data <- bind_rows(F0, F1, F2, F3, F4, .id = '随访次数')
# 打印长型数据
print(long_data)
在这个示例代码中,我们添加了一个print()语句来检查F2表格的列名。请确保打印出来的列名与你实际使用的列名完全匹配。如果列名不匹配,你需要根据实际的列名进行修改。
请确保按照你的实际情况检查列名并进行适当的修改,并根据需要调整文件名和其他列名。
原文地址: http://www.cveoy.top/t/topic/pFl 著作权归作者所有。请勿转载和采集!