我有一个ascii文件,其中包含一周的数据。此数据是一个文本文件,没有标题名称。目前,我几乎已经使用R完成了一个较小的任务,并尝试使用Python。作为两者都不专业的人,这是一条陡峭的学习曲线。以下是我的数据/代码,用于根据我创建的R中的特定chr序列将行粘贴在一起,但该序列不起作用。
每列包含不同的数据,但行数据才是最重要的。例如:
column 1 column 2 column 3 column 4
Row 1 Name Age YR Birth Date
Row 2 Middle Name School name siblings # of siblings
Row 3 Last Name street number street address
Row 4 Name Age YR Birth Date
Row 5 Middle Name School name siblings # of siblings
Row 6 Last Name street number street address
Row 7 Name Age YR Birth Date
Row 8 Middle Name School name siblings # of siblings
Row 9 Last Name street number street address
我有一个文件夹要迭代或循环,其中一些文件包含100行,另一些文件包含1000行。我写了一段代码,它删除了我不需要的所有行,并写入一个新的.csv。然而,任何粘贴和/或合并都不会产生理想的结果。
我需要的是一个代码,从整个文件中只选择Name和Last Name行(及其相邻数据(,并将姓氏行粘贴到Name行的末尾。每个文件具有相同数量的列,但具有不同的行。
我把文件放在一个数据帧上,并尝试合并/粘贴/绑定(r和c(行/列,结果仍然不满足我的需要。到目前为止,Rbind的工作效果最好,但它不是将行一行接一行地粘贴在同一行上来生成数据,而是将它们并排粘贴在列中,如下所示:即:
Name Last Name Name Last Name Name Last Name
Age Street Num Age Street Num Age Street Num
YR Street address YR Street address YR Street address
Birth NA Birth NA Birth NA
Date NA Date NA Date NA
我试着与他们或家人联系[c(姓名、年龄、YR出生…(],但我没有成功。我已经查看了我有多少列,并试图添加更多的列来说明粘贴,相反,它使用第1行的数据填充。
我在这里真的很不知所措,如果有人能提供一些见解,我真的很感激。我比一些人新,但没有其他人新。我正在实现的结果看起来像:
Name Age YR Birth date Last Name Street Num Street Address NA NA
Name Age YR Birth date Last Name Street Num Street Address NA NA
Name Age YR Birth date Last Name Street Num Street Address NA NA
尝试的代码:
rowData <- rbind(name$Name, name$Age, name$YRBirth, name$Date)
colData <- cbind(name$V1 == "Name", name$V1 == "Last Name")
合并和粘贴也不起作用。我试图将每个变量创建为新的数据帧,但仍然没有达到我想要的结果。有人有什么见解吗?
好的,如果我正确理解你的情况,你想首先对数据进行切片,从第一行开始每隔三行提取一次,然后从第三行开始每隔第三行提取。我会这样做(假设你的数据在df
:中
df1 <- df[3*(1:(nrow(df)/3)) - 2,]
df2 <- df[3*(1:(nrow(df)/3)),]
一旦你有了这些,你就可以把它们放在一起,但你不想使用rbind
,而是想使用cbind
。然后可以删除NA列并重命名它们。
df3 <- cbind(df1,df2)
df3 <- df3[1:7]
colnames(df3) <- c("Name", "Age", "YR", "Birth date", "Last Name", "Street Num", "Street Address")